【发布时间】:2015-07-28 09:20:48
【问题描述】:
我可以理解默认构造函数,因为用户定义的构造函数将禁用编译器生成的构造函数,从而使对象不可复制等。
在析构函数的情况下,除了更改访问类别之外,考虑到没有用户定义的成员函数可以禁用它们(你不能重载析构函数),定义默认析构函数有什么用?
// Which version should I choose ?
struct Example
{
//1. ~Example() = default;
//2. ~Example() {}
//3.
};
即使在虚拟析构函数的情况下,默认它们也不会使它们变得微不足道,那么这样做有什么好处?
【问题讨论】:
-
反对者愿意解释吗?这似乎是一个非常有效的问题。
-
@legends2k 我相信他们和here有同样的理由......根本没有:P