删除空指针是安全的(因为它什么也没做)。
#include<iostream>
using namespace std;
int main(){
int *pf = NULL;
delete pf;
}
运行没有任何问题;
你当然不会用delete去删除一个没有用new来初始化的指针,而且,就象用智能指针对象时不用劳你去删除一样,你也永远不会去删除一个传递给你的指针。换句话说,除非类成员最初用了new,否则是不用在析构函数里用delete的。
说的没错,如果某对象不是你new的,你也不用操心它的释放了;
#include<iostream>
using namespace std;
int main(){
int *pf = NULL;
delete pf;
}
运行没有任何问题;
你当然不会用delete去删除一个没有用new来初始化的指针,而且,就象用智能指针对象时不用劳你去删除一样,你也永远不会去删除一个传递给你的指针。换句话说,除非类成员最初用了new,否则是不用在析构函数里用delete的。
说的没错,如果某对象不是你new的,你也不用操心它的释放了;