Singleton



  • Hi!

    Ich hab nen problem mit meinem Singleton:

    // die deklaration:
    class meD3D
    {
    public:
      // Gibt eine Referenz auf das Singleton zurück
      DLLEXPORT static meD3D&	GetInstanz()
      {
        static meD3D Instanz;
        return Instanz;
      };
    
      DLLEXPORT bool Init();
    private:
      configstruktur m_config;  // Klasse füllt diese aus, bei Init()
    };
    

    Das ding funktioniert aber nur bedingt: Wenn ich die Instanz von einer Funktion aus anfordere, die nciht in der Dll definiert ist, sonder in der Datei wo auch WinMain ist, so kriege ich eine ordentliche Instanz zurück, m_config ist ordentlich ausgefüllt. Versuche ich aber die Instanz von einer anderen Funktion anzufordern, die inner halb einer Klasse ebenfalls in der Dll liegt, so kriege ich nciht die echte Instanz, sondern eine, wo alle Membervariablen 0 sind.
    Woran liegt das?

    Gruß, Maxi



  • Google mal nach dem Meyers singleton, den den du da hast ist bullshit



  • http://fara.cs.uni-potsdam.de/~kaufmann/index.php?page=GenCppFaqs&faq=Singleton#Answ

    das ist der, den ich hab, nennt sich Meyers Singleton


Anmelden zum Antworten