Delete d'un vecteur de pointeurs
Bonjour,
J'ai une classe A et le vecteur de pointeurs comme suit (pour l'exemple):
Code:
1 2 3 4 5 6 7 8 9
|
std::vector<A*> *vA=new std::vector<A*>;
A *aA=new A();
vA->push_back(aA);
vA->push_back(aA);
vA->push_back(aA);
// delete
for (i=0; i<vA->size(); i++)
delete vA->at(i); |
Comme on peut s'y attendre, il y a un plantage car, lorsque i=1, l'objet aA a déja été delete.
Lorsqu'un vecteur a été chargé de pointeurs vers un même objet, comment s'assurer que l'objet ne sera pas delete deux fois ?
Christian