Was ist der Unterschied zwischen explizit deklariert Klassen Sonderfunktionen Standard.Warum deklarieren Klassen explizit Sonderfunktionen als "Standard"
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{};
Was ist der Unterschied zwischen diesen 2 Deklarationen? Warum explizit die Standardverhaltensfunktionen als Standard angeben?
Die 'class MyClass {};' Version hat keinen virtuellen Destruktor. – sp2danny
'Was ist der Unterschied zwischen diesen 2 Deklarationen?' Was 2 Deklarationen? Sie scheinen nur eine Deklaration jeder speziellen Mitgliedsfunktion enthalten zu haben. –