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個聲明。 –