What is execution strategy that the C++ runtime adopts to produce the output 4545
when executing the below given code.
#include <iostream>
using namespace std;
int main()
{
int a=5;
cout <<a++ <<++a <<a-- <<--a;
}
I expected the output to be 5444
Please help me understand how the C++ runtime handles this code.