[11.2] What's the order that local objects are destructed?
In reverse order of construction: First constructed, last destructed.
In the following example, b's destructor will be executed first, then a's
destructor:
void userCode()
{
Fred a;
Fred b;
...
}