Существует ли определенный порядок, в котором локальные переменные освобождаются в С++ (11)? Чтобы быть более кратким: в каком порядке будут видны побочные эффекты деструкторов двух локальных переменных в одной области?
например:.
struct X{
~X(){/*do something*/}
}
int main(){
X x1;
X x2;
return 0;
}
Является ли x1
или x2
уничтожен первым, когда main возвращает или является порядком undefined в С++ 11?