Suppose the code goes like this
void b()
{
...
}
void c()
{
b();
}
is c considered terminated after the call to b but b has not yet terminated?
You can verify using debug messages:
void b()
{
cout << "b()" << endl;
}
void c()
{
b();
cout << "ended c()" << endl;
}
So, the ended c()
appears after b()
message.