Что такое стратегия выполнения, которую использует среда выполнения C++ для создания вывода 4545
при выполнении приведенного ниже кода.Как оцениваются операторы приращения/декремента pre и post в C++, когда они происходят неоднократно в одном заявлении cout?
#include <iostream>
using namespace std;
int main()
{
int a=5;
cout <<a++ <<++a <<a-- <<--a;
}
Я ожидал, что выход будет 5444
Пожалуйста, помогите мне понять, как C++ во время выполнения обрабатывает этот код.
Это неопределенное поведение. –
Является ли эта часть индийской учебной программы или что-то еще? Почему мы видим это почти каждый день? –
Ваша программа вызывает UB. Все может случиться. Компилятор может сделать что угодно. Он может отформатировать ваш жесткий диск, сделать вашу подругу беременной, что бы она ни любила! – Destructor