Примечание. Часто перед выполнением операции требуется вычислить значения операндов

Часто перед выполнением операции требуется вычислить значения операндов. Например, в выражении F(i) + G(i++) * H(i) сначала вызываются функции F, 6 и Н, а затем выполняются умножение и сложение. Операнды всегда вычисляются слева направо независимо от приоритетов операций, в которых они участвуют. Кстати, в приведенном примере метод Н вызывается с новым значением 1 (увели­ченным на 1).

Тип результата выражения в общем случае формируется по правилам, которые описаны в следующем разделе.

Преобразования встроенных арифметических типов-значений

При вычислении выражений может возникнуть необходимость в преобразовании типов. Если операнды, входящие в выражение, одного типа и операция для этого типа определена, то результат выражения будет иметь тот же тип.

Если операнды разного типа и/или операция для этого типа не определена, пе­ред вычислениями автоматически выполняется преобразование типа по прави­лам, обеспечивающим приведение более коротких типов к более длинным для сохранения значимости и точности. Автоматическое {неявное) преобразование возможно не всегда, а только если при этом не может случиться потеря значимости.

Если неявного преобразования из одного типа в другой не существует, програм­мист может задать явное преобразование типа с помощью операции (тип)х. Его результат остается на совести программиста. Явное преобразование рассматри­вается в этой главе немного позже.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: