Tengo un objeto con un vector de punteros a otros objetos en ella, algo como esto:¿Es posible eliminar un objeto no nuevo?
class Object {
...
vector<Object*> objlist;
...
};
A continuación, se añade objetos a la lista en estas dos maneras:
Object obj;
obj.objlist.push_back(new Object);
y
Object name;
Object* anon = &name;
obj.objlist.push_back(anon);
Si un hacer un destructor que es simplemente
~Object {
for (int i = 0; i < objlist.size(); i++) {
delete objlist[i];
objlist[i] = NULL;
}
}
¿Habrá consecuencias adversas en términos de cuándo intenta eliminar un objeto que no se creó con nuevo?
Sé que podría ser mejor con un iterador, pero 'objlist' era originalmente y array y no he tenido tiempo para cambiar el ciclo. –