Xtremebergi
Lt. Junior Grade
- Registriert
- Feb. 2008
- Beiträge
- 312
Hallo, Leute, ich bin mit meinem Latein am Ende
Ich habe eine Klasse mit einer statischen Membervariablen. Normalerweise heißt das, dass es diese Variable nur 1x im ganzen Programm gibt (zumindest war es in C# und Java so).
Die statischen Membervariablen werden ja in der .cpp-Datei extra initialisiert/definiert. Dort hab ich einen Breakpoint gesetzt...diese Definition wird mehrere Male aufgerufen! Ich hab das Programm dann auch mal weiterlaufen lassen und gemerkt dass Funktionen verschiedener Sourcefiles nicht die gleichen statischen Membervarialben verwenden...das ist schlecht.
Ich habe schon stundenlang im Internet nach einer lösung gesucht und zwar erfahren, dass dieses Problem bekannt ist ("static initialization order fiasco", etc.), aber nicht, wie ich garantieren kann dass diese Variable wirklich nur EINMAL existiert.
Bitte um Hilfe, ich weiß echt nicht mehr weiter.
Danke im Voraus
Bergi
Ich habe eine Klasse mit einer statischen Membervariablen. Normalerweise heißt das, dass es diese Variable nur 1x im ganzen Programm gibt (zumindest war es in C# und Java so).
Die statischen Membervariablen werden ja in der .cpp-Datei extra initialisiert/definiert. Dort hab ich einen Breakpoint gesetzt...diese Definition wird mehrere Male aufgerufen! Ich hab das Programm dann auch mal weiterlaufen lassen und gemerkt dass Funktionen verschiedener Sourcefiles nicht die gleichen statischen Membervarialben verwenden...das ist schlecht.
Ich habe schon stundenlang im Internet nach einer lösung gesucht und zwar erfahren, dass dieses Problem bekannt ist ("static initialization order fiasco", etc.), aber nicht, wie ich garantieren kann dass diese Variable wirklich nur EINMAL existiert.
Bitte um Hilfe, ich weiß echt nicht mehr weiter.
Danke im Voraus
Bergi