Код: Выделить всё
// Retrieved 2025-12-15, License - CC BY-SA 4.0
i = 1;
f(i++, i)
Однако я изо всех сил пытаюсь понять, почему это было возможно до C++17.
Какие операции и в каком порядке могли произойти, чтобы прийти к 2, 2?
Как первый аргумент f в конечном итоге получит значение 2, поскольку по определению, i++ всегда возвращает старое значение и ничто не увеличивает i, кроме этого?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -after-c17
Мобильная версия