TVE
Erfahrenes Mitglied
Hi zusammen
Ich habe in meinem aktuellen Projekt mehrere Klassen von denen ich X Instanzen erstellen möchte. Da X unbekannt ist und ich sicher gehen will, dass bei jedem cycle im Programm alle vorhandenen Instanzen angesprochen werden kam ich erst auf die Idee einfach genug grosse Arrays (grösse Y) von der entsprechenden Klasse zu instanzieren. Dies ist aber erstens sehr Speicherlastig und zweitens habe ich dann das Problem, dass wenn ich mal Y+2 Instanzen benötigen sollte, das Programm natürlich abstürzt. (out of bounds, etc...)
Ein Freund hat mir darum geraten mich mit der STL auseinanderzusetzen und die Instanzen in eine list (oder auch einen vektor) zu packen, resp. einen Pointer auf die jeweilige Instanz. Ich hab da aber gar keine Erfahrung mit dem Teil und bin immer noch ein bisschen am Ausprobieren. Ein wirklich gutes Beispiel habe ich dazu auch noch nicht gefunden. Hat jemand gerade ein Idiot-Proof (If I read it, it prooves that I'm an idiot...) Tutorial zu dem Thema zur Hand?
Irgendwie habe ich Angst, dass wenn ich irgendwo im Code eine Instanz der Klasse erstelle, danach den Pointer in die list werfe, irgendwann später noch ein paar Pointer mehr reinknalle und dann das Programm beende Memory-Leaks entstehen. Mir ist noch keine Idee gekommen wie ich das verhindern kann; oder muss ich das gar nicht, weil die Destruktoren sowieso aufgerufen werden?
Ich weiss, ganz n Haufen Fragen. Ich hoffe jemand hat ein paar gute Antworten.
Ich habe in meinem aktuellen Projekt mehrere Klassen von denen ich X Instanzen erstellen möchte. Da X unbekannt ist und ich sicher gehen will, dass bei jedem cycle im Programm alle vorhandenen Instanzen angesprochen werden kam ich erst auf die Idee einfach genug grosse Arrays (grösse Y) von der entsprechenden Klasse zu instanzieren. Dies ist aber erstens sehr Speicherlastig und zweitens habe ich dann das Problem, dass wenn ich mal Y+2 Instanzen benötigen sollte, das Programm natürlich abstürzt. (out of bounds, etc...)
Ein Freund hat mir darum geraten mich mit der STL auseinanderzusetzen und die Instanzen in eine list (oder auch einen vektor) zu packen, resp. einen Pointer auf die jeweilige Instanz. Ich hab da aber gar keine Erfahrung mit dem Teil und bin immer noch ein bisschen am Ausprobieren. Ein wirklich gutes Beispiel habe ich dazu auch noch nicht gefunden. Hat jemand gerade ein Idiot-Proof (If I read it, it prooves that I'm an idiot...) Tutorial zu dem Thema zur Hand?
Irgendwie habe ich Angst, dass wenn ich irgendwo im Code eine Instanz der Klasse erstelle, danach den Pointer in die list werfe, irgendwann später noch ein paar Pointer mehr reinknalle und dann das Programm beende Memory-Leaks entstehen. Mir ist noch keine Idee gekommen wie ich das verhindern kann; oder muss ich das gar nicht, weil die Destruktoren sowieso aufgerufen werden?
Ich weiss, ganz n Haufen Fragen. Ich hoffe jemand hat ein paar gute Antworten.