Re[6]: sequence point (по мотивам инкремента)
От: dupamid Россия  
Дата: 04.06.04 07:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>
А>>>    f(i++) + f(i++);
А>

А>>>Понятно, почему здесь UB?

B>>Здесь нет UB. Можно привести аргументацию?


А>Можно, конечно. Здесь нет точек следования, разделяющих две модификации переменной i.

А>Можете ли Вы такие точки следования указать?

А точки перед вызовом функции и прямо перед возвратом из нее. Я считаю, компилятор, если у него одной переменной дважды между точками следовования приводит к каким-то проблемам, не должен оптимизировать это выражение таким образом. То, что результат не определено — это вопросов не вызывает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.