Execution order of programs code is very much a vital thing to understand and where some fault finds will take a long while to figure out. Basically like in maths where there is a order of calculating, well in coding structures and also multitasking and multi-threading setups the execution order may be incorrect for lines of code.
Here is some examples, the first is when will a function be called and the later when post/pre incrementation will take place.
#include
using namespace std;
int value =1;
int setvalue2()
{
cout << "setting value"<