C ++ lokale Variable Zerstörungsreihenfolge

Gibt es eine definierte Reihenfolge, in der lokale Variablen werden freigegeben, in C++ (11) ?
Um präziser: In welcher Reihenfolge werden die Nebenwirkungen der Destruktoren von zwei lokalen Variablen in dem gleichen Umfang sichtbar werden?

z.B.:

struct X{
  ~X(){/*do something*/}
}

int main(){
   X x1;
   X x2;
   return 0;
}

Ist x1 oder x2 zerstört den ersten, wenn die main zurück, oder ist die Reihenfolge undefiniert, in C++11?

InformationsquelleAutor der Frage gexicide | 2013-02-04

Schreibe einen Kommentar