globale Variablen statisch
-
Hallo,
ich weiß, dass globale statische Variablen nicht perfekt sind, aber ich brauche sie trotzdem gerade, da ich ein Objekt global verwalten will.ich deklariere eine statische Variable im Header
static Klassname* bla;
in der cpp hab ich
Klassname* bla=new Klassname();
es funktioniert trotzdem nicht.
was mach ich falsch?
-
mein Ziel ist es, dass unter dem globalen statischen Zeiger der Variable immer ein Objekt angehängt und an anderer Stelle ausgelesen werden kann, ohne dass ich die Klasse in dem die statische globale Variable vorkommt ständig übergeben muss.
-
Weißt du was static macht?
Anscheinend nicht.
In jeder cpp-Datei gibt es dann eine eigene Kopie des Zeigers, den du dann auch in jeder cpp-Datei erzeugen (und löschen!) musst. Nutz kein static. Und wenn dynamsicher Speicher, dann kapsel das bitte mit RAII.
-
guck dir mal
externan

-
hpp:
extern Klassenname varName;cpp:
Klassenname varName;