Здравствуйте, dupamid, Вы писали:
А>>Давайте по порядку.
А>>А>> f(i++) + f(i++);
А>>
А>>Понятно, почему здесь UB?
D>Здесь нет undefined behavior, но результат неопределен — это разные вещи.
Нет, здесь не unspecified, а именно undefined behavior.
D>Более того, несмотря на то что Павел Кузницов утверждает,
(Должен сказать, что в этом вопросе я несколько радикальнее Павла. По моему мнению, например, в следующем примере — UB:
i = (++i, 0);
Павел, если я все правильно помню, с этим согласен не был.)
D>что модификация одной переменной между точками следования — есть undefined behavior, пока это не отднозначно. Но то что это как минимум unspecified behavior — это точно.
Когда перестал действовать параграф 5/4 стандарта?