Bonjour à tous,
J'ai une question qui peut paraître bête, de plus il tard. Voilà, j'ai un vector qui contient des objets et j'aimerais les delete, mais voilà. J'ai remarqué que si je faisais :
Cela ne détruisais pas l'objet contenu dans cette cellule, et qu'il fallait faire ceci pour y remédier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part delete objectVector->at(i);
J'aimerais comprendre est-ce que je dois à chaque fois créer un pointer séparé pour delete un objet au lieu de faire delete sur le pointeur contenu dans le vector ? Pourtant je suis persuadé que le vector ne contient que des pointeurs et que at(i) retourne un pointeur et donc delete doit bien détruire l'objet pointé ? Un petit éclaircissement serait la bienvenue, merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Object *_object = objectVector->at(i); delete _object;
Partager