Digamos que tengo una clase de objeto genérica y una clase de lista genérica. Quiero mantener una lista de estos Objetos. ¿Debo guardarlos como List<Object>
o List<Object*>
?Almacenamiento de una lista de objetos
si uso List<Object>
y tengo un método como:
if(some_condition) {
Object obj;
myObjectList.append(obj);
}
Y mi clase de lista sólo mantiene una referencia al objeto, por lo que tan pronto como la sentencia if termina, el objeto es destruido, y el el objeto que empujé se convierte en inválido. De manera que termino haciendo algo como:
Object *obj = new Object;
myObjectList.append(*obj);
de modo que no quede destruida. Pero ahora los objetos no se pueden eliminar, ¿no? Porque ahora están almacenados de forma segura en la Lista como Objetos, no como punteros a Objetos, por lo que no puedo invocar eliminar en ellos ... ¿o se destruirán automáticamente cuando se extraigan de la lista?
En ese caso, probablemente debería usar List<Object*>
y eliminarlos de la lista cuando haya terminado con ellos, ¿no?
Tan confundido ... Estoy seguro de que tengo un malentendido fundamental aquí en alguna parte.
el problema es que estás programando como si esto fuera Java ... no lo es. –
Bueno, yo no vengo de un fondo de Java ni nada ... Estoy un poco retrasado esta noche. – mpen