Bonjour,
Désolé ce sont des questions de réels débutants qui ne maitrisent pas très bien les pointeurs...
Je souhaiterai savoir comment libérer mon espace mémoire quand j'utilise un vecteur de pointeur (sur un objet) !
Faut-il que je fasse l'effacement du vecteur avant ou après avoir effacer mes pointeurs sur les objets ?
Autre question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <vector> int main() { vector<Object*> vect; // fonction qui remplit le vecteur avec les Object remplirVecteur(vect); //... // effacement de tous les objets du vecteur effacerContenuVecteur(vect); // effacement du vecteur vect.clear; vect.delete; }
Faut-il que j'efface mes pointeurs à chaque fois que j'entre un Objet dans un vecteur ?
Dernière question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 const int nbElement 10; void remplirVecteur(vector<Object* > vect) { int i; Obect* myObject for(i=0;i<nbElement;i++) { myObject = new Object(i); } // faut'il que je fasse ici : delete myObject // au risque de perdre tout ce que je voulais dans mon vecteur }
Mes Object ont eux aussi des pointeurs qui sont effacer dans le destructeur, est ce que cela suffit pour libérer l'espace mémoire (l'appel est automatique à la fin de la session).
Ou faut'il que j'efface chaque pointeur "tout seul" ?
Je vous remercie d'avance pour toutes vos remarques et réponses.
Cordialement.
Partager