Angenommen, wir haben eine Methode. Innerhalb der Methode befindet sich eine Schleife mit n Iterationen, in der ein Objekt myObj
deklariert und initialisiert wird.Werden in Schleifen deklarierte Objekte nur einmal erstellt?
- Wie oft ist es konstruiert und zerstört? Einmal oder n mal?
- Wann passiert die Konstruktion - wenn die Linie ausgeführt wird, oder wenn das Programm die Methode aufruft?
- Wann passiert die Zerstörung? Am Ende jeder Iteration, bei das Ende des for-Block, oder das Ende der Methode?
Beispiel:
void foo()
{
for (int i = 0; i < 100; i++)
{
A myObj();
}
}
Interessanterweise konstruiert und zerstört der Code Ein Objekt [* zero * mal] (https://en.wikipedia.org/wiki/Most_vexing_parse) – ikh