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