在一個類的析構函數中要釋放掉的成員,在該的構造函數中一定要有對這個成員的記憶體配置設定或指向NULL。
如:
class A
{
public:
A(){
p = NULL; // 初始化為NULL
};
A(int v){
p = new int; // 配置設定新的記憶體
*p = v;
}
// 下面這個是有問題的:
A(int * v){
p = v;
}
~A(){
if( NULL != p ){
delete p;
}
}
private:
int *p;
}