Bonjour,
Ma question est sur les pointeurs null
De manière générale, est ce que vous effacez automatiquement les objets pointés par les pointeurs membres de la classe? Par exemple
Par contre, il faut bien tester d abord si les pointeurs sont nulls avant de faire delete comme ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Class Droit { Point* p1; Point* p2; Droit(){}; ~Droit(){ delete p1; delete p2; }; }
Par contre quand je teste le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (p1!=0) delete p1;
Le resultat est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 string* name = new string; string test="test"; if (name != 0) cout << "Pointer not null"<<endl; delete name; if (name != 0) cout << "Pointer null"<<endl;
Ce qui est bizarrePointer not null
Pointer null
Merci pour les explications
Partager