Freigeben über


Zusätzliche Startüberlegungen

In C++ kann Objektkonstruktion und Zerstörung durch Benutzercode, auszuführen.Daher ist es wichtig zu verstehen, welche Initialisierungen vor Eintrag Main auftreten und welche Destruktoren nach Verlassen Mainaufgerufen werden.(Ausführliche Informationen über die Erstellung und Zerstörung von Objekten finden Sie unter Konstruktoren und Destruktoren).

Die folgenden Initialisierungen finden MainEintrag vor statt:

  • Standardinitialisierung von statischen Daten auf Null.Alle statischen Daten ohne explizite Initialisierung werden auf Null vor dem Ausführen eines beliebigen anderen Code, einschließlich Laufzeitinitialisierung gestellt.Statische Datenmember müssen noch explizit definiert werden.

  • Initialisierung einer globalen statischen Objekte in einer Übersetzungseinheit.Dies tritt möglicherweise entweder vor oder Main Eintrag vor der ersten Verwendung einer Funktion oder Objekt in der Übersetzungseinheit des Objekts auf.

Microsoft-spezifisch

In Microsoft C++ werden globale statische Objekte vor Eintritt in Maininitialisiert.

Microsoft ENDES bestimmten

Globale statische Objekte, die wechselseitig voneinander abhängig sind, jedoch in unterschiedlichen Übersetzungseinheiten möglicherweise ein falsches Verhalten verursachen.

Siehe auch

Referenz

Starten und Beenden (C++)