JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=e2c68f72f73b003b9ea14ec61fa9cd94Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Verständnis Try - Catch
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 04.04.2007, 23:32    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 05.04.2007, 00:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 05.04.2007, 00:06    Titel: Antworten mit Zitat

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! Smile

Zuletzt bearbeitet von David am 05.04.2007, 09:39, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 05.04.2007, 00:10    Titel: Antworten mit Zitat

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 Smile

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mat
Senior JLI'ler


Alter: 35
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 05.04.2007, 14:41    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 05.04.2007, 16:46    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum