Неоднозначные выражения
Некоторые выражения являются неоднозначными в их значения.Эти выражения наиболее часто возникающие, если значение объекта изменяется несколько раз в одном выражении.Эти выражения основаны на заданном порядке вычисления, в котором язык не определяет одно.Рассмотрим следующий пример:
int i = 7;
func( i, ++i );
Язык C++ не гарантирует порядок, в котором вычисляются аргументы при вызове функции.Следовательно, в предыдущем примере func могут получить значения 7 и 8 или 8 и 8 для своих параметров в зависимости от того, параметры вычисляются слева направо или справа налево.