Ich stelle grad etwas erstaunt fest, dass sich eine std:list anscheinen ja doch ohne Probleme mit Instanzen einer Klasse füllen lässt.
Code: Alles auswählen
std::list<Kreatur> kreaturenListe; // Die Kreaturen-Liste
Kreatur kreatur; // Eine Kreatur-Instanz
kreaturenListe.push_back(kreatur);
Code: Alles auswählen
std::list<Kreatur*> kreaturZeigerListe; // Die Kreaturen-Liste
Kreatur* kreaturZeiger = new Kreatur; // Eine neue Kreatur-Instanz auf dem Heap
kreaturZeigerListe.push_back(kreaturZeiger);
In den Anfängen von C und C++ lernt man doch, dass es unumgänglich ist, mit new oder malloc zu arbeiten, wenn man Objekte zur Laufzeit erzeugen will.
Ganz offensichtlich lassen sich ja aber mit beiden Methoden zur Laufzeit neue Kreatur-Instanzen erzeugen - quasi dank der stl.
Übersehe ich da grad etwas entscheidendes? Zur welchen Methode würdet ihr mir raten? Stimmt denn die Überlegung, dass ich das Risiko eines Memory-Leaks ausschliessen kann, sofern ich kein "new" oder "malloc" einsetze und stattdessen die Instanzen direkt in einem vector oder einer list speichere?
Gruss starcow