Bonjour

je voudrais savoir si c'est dangereux de faire un delete sur un pointeur assigné à NULL?
Comme dans le cas présent où on fait un delete sur un pointeur dans un destructeur.

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
20
21
22
23
24
25
26
class B{
	B(){};
	B(int o):a(o){};
private:
	int a;
};
 
class A{
public:
	A(int o):l(o){
		n=0;
	}
	~A(){
		delete n;
	}
private:
	B *n;
	int l;
};
 
int main()
{
 
	{
		A a(4);
	}
En revanche, y a t il un risque si on fait ceci:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
class A{
public:
	A(int o):l(o){
		n=0;
	}
	~A(){
		delete n;
	}
merci