Например, в следующем выражении
i-- && expr
Будет i
быть уже уменьшенным при оценке expr
? Язык-юристы будут адаптированы здесь.
Если &&
оператор является встроенным оператором, то да. Из [expr.log.and] / 2:
Если вычисляется второе выражение, каждое вычисление значения и побочный эффект, связанный с первым выражением, упорядочивается перед каждым вычислением значения и побочным эффектом, связанным со вторым выражением.
Если оператор перегружен, это обычный вызов функции, и порядок вычисления аргументов вызова функции не определен.
Других решений пока нет …