Поделиться через


Неоднозначные выражения

Значение некоторых выражений неоднозначно. Такие выражения чаще всего встречаются, если значение объекта несколько раз изменяется в одном выражении. Подобные выражения зависят от конкретного порядка вычисления, когда этот порядок не определяется языком. Рассмотрим следующий пример:

int i = 7;

func( i, ++i );

Язык C++ не гарантирует порядок, в котором вычисляются аргументы при вызове функции. Поэтому в предыдущем примере в функцию func могут быть переданы значения параметров 7 и 8 или 8 и 8, в зависимости от порядка вычисления параметров — слева направо или справа налево.

См. также

Ссылки

Семантика выражений