Starten und Beenden eines C++-Programms
Ein C++-Programm führt beim Programmstart und bei Beendigung des Programms die gleichen Vorgänge wie ein C-Programm durch und noch einige weitere, die nachfolgend beschrieben werden.
Bevor die Zielumgebung die Funktion main
aufruft, und nachdem sie alle anfänglichen Konstantenwerte gespeichert hat, die Sie in allen Objekten mit statischer Dauer festgelegt haben, führt das Programm alle übrigen Konstruktoren für solche statischen Objekte aus. Die Reihenfolge der Ausführung wird zwischen den Übersetzungseinheiten nicht angegeben. Sie können dennoch davon ausgeben, dass einige iostreams-Objekte ordnungsgemäß für die Verwendung durch diese statischen Konstruktoren initialisiert werden. Zu diesen Steuerungtextstreams zählen:
cin – für die Standardeingabe
cin – für die Standardausgabe
cerr – für die ungepufferte Standardfehlerausgabe
clog – für die gepufferte Standardfehlerausgabe
Sie können diese Objekte auch innerhalb der Destruktoren verwenden, die für statische Objekte während der Beendigung des Programms aufgerufen werden.
Ähnlich wie bei C ruft die Rückgabe von main
oder der Aufruf von exit
alle Funktionen auf, die bei atexit
in umgekehrter Reihenfolge der Registrierung registriert wurden. Eine von einer solchen registrierten Funktion ausgelöste Ausnahme ruft terminate
auf.
Siehe auch
Übersicht über die C++-Standardbibliothek
Threadsicherheit in der C++-Standardbibliothek