Gültigkeitsbereich eines Stack-Objektes
-
Hallo,
ich hab mal eine Frage bezüglich der Gültigkeit von Stack-Objekten.
Hier ein Beispiel:
void myfunc(){ { Object o = Object(); // benötigt viel Speicher // weitere Anweisungen } // Hier kommt ein Bereich, in dem das Programm lange arbeitet }Kann ich mich darauf verlassen, dass das Objekt nach so einem (sonst scheinbar
sinnlosen) Block sofort zerstört wird oder mach der C++ - Standard darüber keine
Aussage, wann genau das Objekt zerstört wird.Ansonsten kann ich den Bereich natürlich in ne Methode auslagern, aber ist halt so ne Frage, die mich gerade beschäftigt

Gruß,
CBlock
-
Soweit ich weiss lebt jede Stack-Variable nur in dem Block in dem sie konstruiert wurde. Also ja, sie sollte zerstört werden am Blockende.
-
Stackobjekte leben in einem Scope. Und der Scope ist ist immer von { bis }.