Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
David Super JLI'ler
Alter: 40 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 04.04.2007, 23:32 Titel: |
|
|
Nein, das assert im c'tor ist korrekt. Es meldet sich wenn versucht wird zwei Instanzen des Singletons zu erstellen. Der Fehler wird vom assert in der Methode static T& getSingleton() erzeugt, da zum Zeitpunkt des Aufrufens ms_Singleton noch ein Nullpointer ist. Zuerst also eine Instanz erzeugen (Konstruktor aufrufen) und danach fröhlich getSingleton() verwenden. |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 05.04.2007, 00:03 Titel: |
|
|
naja, ms_Singleton sollte aber trotzdem unbedingt vorher explizit mit 0 initialisiert werden, sonst kann 1. das assert im c-tor nicht funtkionieren und 2. kann es wilde Pointer geben, was normalerweise vermieden werden sollte.
Gruß DXer |
|
Nach oben |
|
 |
David Super JLI'ler
Alter: 40 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 05.04.2007, 00:06 Titel: |
|
|
Das bezweifelt ja garniemand und ms_singleton wird zu 100% auch mit 0 initialisiert (Sollte in der Definitionsfile stehen). Also, ich sehe dein Problem nicht ganz! 
Zuletzt bearbeitet von David am 05.04.2007, 09:39, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 05.04.2007, 00:10 Titel: |
|
|
axo sorry, dann war das ein Missverständnis. Ich hab mich wohl etwas falsch ausgedrückt; ich habe lediglich vermutet, dass die Instanz nicht initialisiert wird und es u.a. deshalb die Probleme gab. Nagut, dann stimmts ja wieder
Gruß DXer |
|
Nach oben |
|
 |
Mat Senior JLI'ler

Alter: 36 Anmeldedatum: 17.09.2005 Beiträge: 205 Wohnort: Koblenz Medaillen: Keine
|
Verfasst am: 05.04.2007, 14:41 Titel: |
|
|
Uiui - recht habt ihr, dafür steht ja extra nochmal das asset vor dem Auswurf des Zeigers ...
Hmm... für mich ungewohnte Implementierung für Sibgletons.
Danke für die nette Erklärung! _________________ - - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - - |
|
Nach oben |
|
 |
David Super JLI'ler
Alter: 40 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 05.04.2007, 16:46 Titel: |
|
|
Noch eine kleine Anmerkung:
Diese Implementierung hat den Vorteil das du jeden beliebigen Konstruktor zum konstruieren der Instanz einsetzen kann. Wird eine Instanz automatisch von einer statischen Methode des Singletons erzeugt beschränkt sich die auswahl des Konstruktors im Normalfall auf den Standardkonstruktor, was alle Klassen "nichtsingletonfähig" macht die keinen stdctor haben. |
|
Nach oben |
|
 |
|