我正在读这篇文章,提到破坏者是微不足道的,不平凡的.
如果一个类具有明确定义的析构函数,或者它具有成员对象或具有非平凡析构函数的基类,则该类具有非平凡的析构函数.
在示例中,我有一个班级,
class C {
public:
~C(); // not explicitly declared.
};
Run Code Online (Sandbox Code Playgroud)
如果C::~C()隐式定义它是否会产生一个trival dtor?
Ker*_* SB 21
你的言语混乱了.您的示例确实声明了一个显式的析构函数.你也忘了定义它,所以你会得到一个链接器错误.
规则非常简单:您的类是否有明确的析构函数?如果是的话,那你就是非平凡的.如果不是,请检查每个非静态成员对象; 如果它们中的任何一个都是非平凡的,那么你就是非平凡的.