C++ - Lernen und professionell anwenden: Mit Visual Studio Express 2012 für Windows Desktop auf der CD (mitp Professional)Quote:
Welches Buch ist das?
class Konstruktor
{
public:
Konstruktor() = default;
};
1.
Konstruktor () = default;
2.
Konstruktor () {}
Wieso = default?Quote:
Wenn es um C++11 geht, ist
das richtige Beispiel.Code:class Konstruktor { public: Konstruktor() = default; };
Wenn ich von deinen Beispielen auswählen müsste, würde ich Variante 2 nehmen, da Variante 1 redundant ist. Egal in welchem Fall, ich würde immer strikt die Definition von der Deklaration trennen um konsistent zu bleiben.
Dann ist das, was ihr hier versucht, genau so redundant. Ihr definiert einfach nur den Konstruktor, der ansonsten sowieso als synthesierter Konstruktor da wäre. Ich habe eine Alternative aufgezeigt.Quote:
Wäre das nicht redundant, da dieser sowieso bei Ausbleiben des entsprechenden Konstruktors generiert wird?
Oder konstante Variablen bzw. Referenzen als Member hast.Quote:
Die default Anweisung benötigst du doch nur, wenn du neben dem Default-Konstruktor noch einen weiteren Nicht-Default-Konstruktor möchtest.
Gut zu wissen, dass man es auch benötigt, wenn man konstante Variablen &oder Referezen als Member hat.Quote:
Dann ist das, was ihr hier versucht, genau so redundant. Ihr definiert einfach nur den Konstruktor, der ansonsten sowieso als synthesierter Konstruktor da wäre. Ich habe eine Alternative aufgezeigt.
Oder konstante Variablen bzw. Referenzen als Member hast.