Ich werde jetzt mal "etwas" direkter. Der Sinn dahinter ist kein Flame, sondern eine Anregung, sich selbst einzuschätzen, bevor man versucht anderen eine Hilfestellung zu geben.
hab mir gerade die smartpointer angeschaut, muss ich mir da jedes mal überlegen ob es ein shared, unique,oder weak sein soll,oder gibt es da irgendwie etwas was immer funktioniert?
Wie du schon richtig heausgefunden hast, gibt es shared, unique und weak Pointer. Im Grunde funktionieren immer shared_ptr. Hier mal ein paar Andwendungsbeispiele:
shared_ptr: Buttons in einem Menü.
unique_ptr: z.B. von einer GameState-Klasse
Meine Fresse. Lieber cojo2015, ich weiß nicht ob du, als jemand der in den letzten Monaten oft durch grundlegende Verständnisprobleme in Sachen C++ (
Verständnisfrage zu delete[]) und vor allem zu Smart-Pointern (
Ärger mit unique_ptr) aufgefallen bist, Rat zur Verwendung von Smart-Pointern geben sollte. Was du da schreibst, ist nämlich großer Müll.
Wieso soll ein shared_ptr besonders für Buttons in einem Menü geeignet sein? Ein shared_ptr steht für das geteilte Eigentum (shared ownership) an einem Objekt. Wieso sollte derselbe Button zwei anderen Objekten gehören? Wieso müssen die überhaupt auf dem Heap existieren?
Dasselbe gilt für den GameState. Wieso auf dem Heap?
Lieber cojo2015, bitte unterlasse es, Anfängern solch eine "Hilfestellung" zu geben. Dadurch wird bei diesen ein vollkommen falsches Fundament aufgebaut, und das hinterher wieder auszubügeln ist anstrengend und vor allem verschwendet es Zeit.