删除操作符,它们等同于c++中的析构函数

Delete Operators and they equatable to a destructor in C++

本文关键字:c++ 析构函数 等同于 操作符 删除      更新时间:2023-10-16

这可能是一个简单的问题,但是:如果程序使用delete操作符,是否不需要析构函数?

delete操作符不能代替析构函数…它将导致析构函数被调用。

编译器将提供一个默认的析构函数,如果你自己没有定义的话。是否默认析构函数就足够了,或者您是否需要提供自己的析构函数与是否显式使用delete操作符完全不同的问题只允许对象超出作用域。

编辑:既然Michael Dorgan提到了这一点,我不妨加上这一点:

三法则

三法则(又称三巨头法则)(3)是c++中的一个经验法则,它声称如果一个类定义了下面的一个可能应该显式地定义这三个:

destructor
copy constructor
copy assignment operator