Globale Objekte



  • hab mal eione frage zu globalen objekten von klassen, z.B. bei der WinAPI oder auch main-Programmierung. gibt es da wichtige Fallstricke zu beachten gerade bezüglich pointer, ctor, dtor, ...?



  • Pointer, Builtins und Arrays von diesen werden mit null initialisiert, ansonsten wie gewöhnt.



  • Ja klar. Eingebaute Typen werden wie gesagt mit 0 initialisiert, bei Klassen wird der Konstruktor aufgerufen ... der Fallstrick dabei ist die Reihenfolge. Innerhalb einer Übersetzungseinheit (cpp-File) von oben nach unten. Zwischen den Übersetzungseinheiten ist es allerdings unbestimmt. Du kannst also in Teufels Küche kommen, wenn du in einem Konstruktor bzw. Initialisierungsausdruck ein anderes globales Objekt aus einer anderen Übersetzungseinheit benutzt.

    hzuewilster schrieb:

    main-Programmierung

    Süss 🙂


Anmelden zum Antworten