Читайте также:
|
|
Содержание. Типы и приведение типов. Правила приведения типов операндов. Приведение типов в операторах присваивания. Явное приведение типов (static_cast, reinterpret_cast, const_cast, dynamic_cast). Приведение типов в старом стиле. Массивы и структуры. Многомерные массивы. Указатели на массивы, массивы и функции. Строки. Структуры. Битовые поля. Объединения. Понимание функций. Использование функций. Механизмы передачи параметров в функцию. Указатели в качестве аргументов ф-ии. Передача в функцию многомерных массивов. Использование ссылок.
Типы переменных и Приведение типов
Вычисления в C++ могут выполняться только, если значения операндов имеют одинаковый тип. Когда мы пишем выражение, содержащее переменные или константы различных типов, для каждой операции, компилятор должен преобразовать тип одного из операндов так, чтобы он соответствовал типу другого. Этот процесс называется приведением типов. Например, если мы складываем значение типа double с целым значением, то последнее сначала преобразуется в тип double, а затем только выполняется сложение. Конечно, переменная, которая содержит преобразуемое значение, сама не модифицируется. Компилятор сохранит преобразованное значение во временной памяти, которая освободится после завершения вычислений.
Существуют правила выбора операндов для преобразования при любых операциях. Любое выражение перед вычислением может быть, при необходимости, представлено в виде последовательности операций между двумя операндами. Таким образом, правила приведения типов достаточно определить в применении только к парам операндов разного типа. Поэтому, для любой пары операндов разного типа, проверяются следующие правила в том порядке, в котором они написаны. Если какое-либо правило применимо, то оно и используется.
Правила приведения типов операндов
//*************************
Разобрать в качестве примера:
double value = 31.0;int count = 16;float many = 2.0f;char num = 4;Арифметическое выражение в операторе присваивания:
value = (value - count)*(count - num)/many + num/many;Конечный результат 92.0 хранится в value как double.
//*******************
Дата добавления: 2015-11-16; просмотров: 68 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Кратко: for, while, do-while циклы и простые примеры | | | Явное приведение типа |