Initialisierungsliste vs In-Class-Initialisierung
-
Hallo Forum,
seit C++11 gibt es ja die Möglichkeit auch Klassenmember, die nicht const und static sind, in der Klasse zu initialisieren.
class Foo { public: Foo() : member(42) {} // (1) private: int member {42}; // (2) };
Mir ist nicht ganz klar, wann diese Art der Initialisierung (2) gewählt werden sollte, anstatt die Member im Konstruktor zu initialisieren (1).
Ad hoc fällt mir ein, dass ich mir Schreibarbeit spare, wenn es mehrere Konstruktoren gibt, die ein Member auf denselben Wert initialisieren, ohne dass dieses Member ein Konstruktorargument ist. Andererseits finde ich, dass die Übersichtlichkeit irgendwie leidet...
Kann jemand ein wenig zur Erhellung beitragen? Gibt es best-practices?Vielen Dank vorab!
-
Hat sich erledigt, bin doch noch fündig geworden. Ich füge mal die Links, die mir weitergeholfen haben, hier ein. Vielleicht helfen sie anderen ebenfalls.