Probleme de liberation de la memoire

Flothi27 Messages postés 4 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 30 mai 2008 - 18 mai 2006 à 10:58
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 18 mai 2006 à 14:30
Bonjour,
Dans mon programme, j'alloue de la memoire avec un new donc j'utilise un delete pour liberer la memoire.
Mais mon probleme se pose au niveau du destructeur de ma classe quel test dois-je effectuer pour savoir si la memoire a deja ete libere.(J'ai deja essaye pointeur!=NULL => sans succes)

7 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2006 à 11:05
Je comprends pas bien ta question Le destructeur est justement appelé au moment de libérer la mémoire, donc quand tu es dans le destructeur, la mémoire est en train de se libérer
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
18 mai 2006 à 11:13
De plus un delete sur un pointeur deja désalloué ça doit pas poser de problème je crois
++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2006 à 11:21
Si, normalement ca pose problème
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
18 mai 2006 à 11:27
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
18 mai 2006 à 11:46
"De plus un delete sur un pointeur deja désalloué ça doit pas poser de problème je crois".

Quand on désalloue, le pointeur ne vaut pas NULL, donc ça plante..
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
18 mai 2006 à 11:59
Va voir sur le site de developpez.com dans la faq c++
D'ailleurs ça
 int *pt=0;
delete pt;
ca plante pas
(je sais c'est bizarre mais bon)
++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2006 à 14:30
peut être, mais
int* pt = new int(2);
delete pt;
delete pt;
devrait planter
0
Rejoignez-nous