Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Wie wärs mit ganzen Sätzen?Zitat von »"TrommlBomml"«
ich meine wenn ich ein anderes objekt per delete lösche, wo ich woanders noch eionen zeiger drauf habe und dann nochmal freigebe, frage ist.
Zitat von »"Nexus"«
Wie wärs mit ganzen Sätzen?Zitat von »"TrommlBomml"«
ich meine wenn ich ein anderes objekt per delete lösche, wo ich woanders noch eionen zeiger drauf habe und dann nochmal freigebe, frage ist.
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
class CLogFile { private: std::ofstream m_osFile; private: CLogFile() { m_osFile.open("log.txt",std::ios::out); AddLog("The Drum Machine - Log File"); AddLog("Begin Logging..."); } CLogFile(const CLogFile &oCopy); CLogFile operator=(const CLogFile &oAssign); public: static CLogFile &GetInstance() { static CLogFile oLogFile; return oLogFile; } ~CLogFile() { AddLog("End Logging."); m_osFile.close(); } }; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
//ein objekt erzeugt einen vertexbuffer CVertexBuffer *pVB = new CVertexBuffer(...); //und ein anderes objekt braucht diesen vertexbuffer auch, weil es dasselbe 3d-modell repräsentiert. CVertexBuffer *pVB2 = pVB; delete pVB; delete pVB2; |
Wieso eigentlich das Rad neu erfinden, anstatt sich auf getestete und optimierte Mittel zu verlassen? boost::shared_ptr (gibts auch im TR1) hat die gleiche Funktion.Zitat von »"TrommlBomml"«
ich hab eine klasse CReferenceWatcher, der alle reference-count objects überwacht und bei keiner referenzierung freigibt.
Brauchst du diese Vererbung tatsächlich (d.h. ist dein CReferenceWatcher wirklich ein CGenericHandleManager)? Sorry, falls ich daneben liege, aber Vererbung wird eben oft eingesetzt, wo Aggregation angebrachter wäre. Hier habe ich so einen Verdacht, aber kann gut sein, dass ich mich irre...Zitat von »"TrommlBomml"«
abgeleitet ist das von CGenericHandleManager<NUMERICHANDLE,CLASS*>.
Werbeanzeige