什么时候应该在c ++中将析构函数声明为= delete

时间:2018-02-01 14:42:55

标签: c++ c++11

我知道声明为删除的析构函数不能用作

A a;

但可以用作

A*a =new a();

但是我们无法使用

释放内存
delete a;

那么什么时候推荐或者更喜欢将析构函数声明为已删除?是否有成语?

1 个答案:

答案 0 :(得分:-1)

我不会说在任何实际生产代码中推荐或首选。

但是你可以想象一个例子,你想确保一个对象不能被正常删除;一个示例可能是全局内存管理器对象或其他旨在超过main的单例。不能删除没有析构函数的对象。

我认为最好实现这一点,比如封装/隐藏。