Проблема с постинкрементом в Visual Studio
int x = 0;
x = x++;
cout << x; // 1
Если я не ошибаюсь, то в x должно записаться 0 а потом только увеличить значение. Кто объяснит что за дела?
Писал в Visual Studio 2019.
Ответы (1 шт):
Автор решения: HolyBlackCat
→ Ссылка
Да, там должен быть 0, но до С++17 это вызывало неопределенное поведение (см. 20 пункт здесь).
Похоже в MSVC это еще не исправили.
Что интересно, GCC и Clang ругаются на этот код, но таки выводят 0.
