Angenommen, ich habe eine generische Object-Klasse und eine generische List-Klasse. Ich möchte eine Liste dieser Objekte verwalten. Soll ich sie als List<Object>
oder List<Object*>
speichern?Speichern einer Liste von Objekten
Wenn ich List<Object>
und ich habe eine Methode wie:
if(some_condition) {
Object obj;
myObjectList.append(obj);
}
Und meine Liste Klasse hält nur eine Referenz auf das Objekt, um so schnell wie die if-Anweisung beendet wird, wird das Objekt zerstört, und die Objekt, das ich gedrückt habe, wird ungültig. Also dann mache ich etwas wie:
Object *obj = new Object;
myObjectList.append(*obj);
So dass es nicht zerstört wird. Aber jetzt sind die Objekte nicht löschbar, oder? Weil sie jetzt sicher in der Liste als Objekte gespeichert sind, nicht als Zeiger auf Objekte, sodass ich sie nicht löschen kann ... oder werden sie automatisch zerstört, wenn sie aus der Liste entfernt werden?
In diesem Fall sollte ich wahrscheinlich List<Object*>
verwenden und sie aus der Liste löschen, wenn ich mit ihnen fertig bin, nicht?
So verwirrt ... Ich bin sicher, dass ich irgendwo ein grundlegendes Missverständnis habe.
Das Problem ist, dass Sie programmieren, wie dies ist Java ... es ist nicht. –
Nun, ich komme nicht von einem Java-Hintergrund oder irgendetwas ... Ich bin heute Nacht ein bisschen zurückgeblieben. – mpen