检查指针在析构函数中不为空[重复]
Posted
技术标签:
【中文标题】检查指针在析构函数中不为空[重复]【英文标题】:Check pointer is not null in destructor [duplicate] 【发布时间】:2018-11-07 06:11:52 【问题描述】:我有带有移动构造函数的类。移动后,指针变为空。在调用 delete 之前,我必须在析构函数中检查 not_null 吗?
class A
int *data;
public:
A(size_t size) : data(new int[size])
A(A &&rhs) : data(rhs.data)
rhs.data = nullptr;
~A()
if (data)
delete [] data;
//or
delete [] data;
【问题讨论】:
【参考方案1】:不,delete
和 delete[]
都为 nullptr
定义良好 - 它们不会执行任何操作。
【讨论】:
以上是关于检查指针在析构函数中不为空[重复]的主要内容,如果未能解决你的问题,请参考以下文章