4
显式声明类特殊函数默认值有什么区别?为什么显式声明类特殊函数为“default”
class Myclass
{
public:
Myclass() = default;
virtual ~Myclass() = default;
Myclass(MyClass&&) = default;
Myclass& operator=(MyClass&&) = default;
Myclass(const MyClass&) = default;
Myclass& operator=(const MyClass&) = default;
};
MyClass{};
这2个声明有什么区别? 为什么显式指定默认行为函数为默认?
'class MyClass {};'版本没有虚拟析构函数。 – sp2danny
'这2条声明有什么区别?'2条声明是什么?您似乎只包含了每个特殊成员函数的1个声明。 –