Est-il possible de supprimer un non-nouvel objet?

J'ai un objet avec un vecteur de pointeurs vers d'autres objets, quelque chose comme ceci:

class Object {
    ...
    vector<Object*> objlist;
    ...
};

Maintenant, les Objets seront ajoutés à la liste dans les deux de ces façons:

Object obj;
obj.objlist.push_back(new Object);

et

Object name;
Object* anon = &name;
obj.objlist.push_back(anon);

Si un faire un destructeur qui est tout simplement

~Object {
    for (int i = 0; i < objlist.size(); i++) {
        delete objlist[i];
        objlist[i] = NULL;
    }
}

Aura-t-il des conséquences négatives en termes d'lorsqu'il tente de supprimer un objet qui n'a pas été créé avec de nouvelles?

Je sais qu'il pourrait être mieux avec un itérateur, mais objlist était à l'origine et tableau et je n'ai pas eu le temps de changer la boucle.

OriginalL'auteur | 2010-12-04