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
Zitat von »"Nexus"«
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.
Zitat von »"Nexus"«
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*>.
Schau dir mal das an. Mit dem Boost-Installer ist das Einrichten kein Problem. Aber wie gesagt ist shared_ptr auch im Technical Report 1. Trotzdem würde ich mir mit der Zeit Boost überlegen.Zitat von »"TrommlBomml"«
irgendiwe sträube ich mich auch noch ein bisschen gegen boost, weil es ganz klar coole klassen gibt, aber das einrichten ist und deployen ist doch wohl ein graus oder?! hab ich damit auch nicht so intensiv beschäftigt gebe ich auch zu.
Faulheit ist eben oft ein Grund für Vererbung.Zitat von »"TrommlBomml"«
und finde es durchaus praktisch, dass ich sonst nichts weiter machen muss und das ererbte alles für das freigeben macht
Zitat von »"dot"«
Für die Smart Pointer sollten eigentlich die bloßen boost Header reichen!?
Zitat von »"Nexus"«
Wenn deine Klassenbeziehung genauso gut als Aggregation realisierbar ist, dann nimm diese. Damit lässt du dir viel mehr Freiheiten im Design offen, was dir später wahrscheinlich zu Gute kommt.
Zitat von »"Jonathan_Klein"«
Man sollte auch generell überlegen, ob man wirklich Singletons oder globale Variablen benötigt. Man kann schon Probleme kriegen, weil man nicht so einfach Steuern kann, wann die Variablen erstellt und wann sie wieder gelöscht werden. (simples Beispiel: man hat ein Singleton Logmanager, und einen Singleton Speichermanager, der Logmanager hat Speicherbereiche die vom Speichermanager verwaltet werden, also muss dieser auf jeden Fall zuerst destruiert werden, was man aber meines Wissens nach bei statischen oder globalen Variablen nicht steuern kann.)
Werbeanzeige