Bonjour,
J'ai une classe CMaClasse, definit dans un .h et .cpp(classique), sauf que dans mon cpp j'ai en haut:Tout fonctionne correctement, la liste est bien initialise une seule fois dans le contructeur et bien utilise.
Code : Sélectionner tout - Visualiser dans une fenêtre à part static typeList* uneListe = NULL;
Maintenant j'ai un doute au niveau de la memoire.
J'utilise ma classe ainsi:
La je pense que uneListe est creer une seule fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Par exemple dans un main: CMaClasse* p1 = new CMaClasse(); CMaClasse* p2 = new CMaClasse(); // <-- uneListe != NULL delete p1; CMaClasse* p3 = new CMaClasse(); // <-- uneListe != NULL delete p2; delete p3;
Mais la:Lorsque je cree p3, est-ce que uneListe est cense etre plein ou vide. Dans mon cas j'ai bien uneListe != NULL, mais pourtant j'ai supprimer toutes les instances de la classe(p1 et p2).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // Par exemple dans un main: CMaClasse* p1 = new CMaClasse(); CMaClasse* p2 = new CMaClasse(); // <-- uneListe != NULL delete p1; delete p2; CMaClasse* p3 = new CMaClasse(); // <-- ici delete p3;
Est-ce que c'est normal?
PS: il est possible que la conception soit mauvaise, mais ce code n'est pas a moi, je dois le reprendre et j'aimerai deja comprendre ce qu'il fait, avant de modifier.
Partager