#include <iostream>
using namespace std;
class Base{
public:
void f(){
cout<<"base"<<endl;
}
private:
int a;
};
int main(){
Base* b = new Base;
delete b;
delete b;
return 0;
}
经过试验表明重复删除会导致运行时报错,但如果加上b = NULL;第二次delete操作将不会执行,程序可以正常执行。
#include <iostream>
using namespace std;
class Base{
public:
void f(){
cout<<"base"<<endl;
}
private:
int a;
};
int main(){
Base* b = new Base;
delete b;
delete b;
return 0;
}
经过试验表明重复删除会导致运行时报错,但如果加上b = NULL;第二次delete操作将不会执行,程序可以正常执行。