In C++ 11, haben wir zwei Möglichkeiten, die Datenelemente einer Klasse/Struktur zu initialisieren, wie in den folgenden Beispielen erläutert:Wie Sie die Datenelemente in C++ 11 ordnungsgemäß initialisieren?
struct A
{
int n = 7;
};
struct B
{
int n;
B() : n(7) {}
};
Frage 1:
Welcher Weg ist besser?
Frage 2:
Ist die traditionelle Art und Weise (letztere) nicht aus der Sicht eines modernen-C ermutigt ++ - Stil-Checker?
Ich bin mir nicht sicher, ob das n {n_} ein Fehler ist oder nicht? Ist es möglich, auch im Konstruktor die Initialisierungsnotation zu verwenden? – holmicz
@ OndřejHolman Seit C++ 11 ist es gültig. –
noch eine Sache, wenn Initializer-Liste verwenden kann einige Overhead verursachen, wenn ich richtig bin. Ich würde es vermeiden, wenn Sie mit begrenzten Ressourcen umgehen müssen. – holmicz