Frage zu struct
-
camper schrieb:
out schrieb:
Sone schrieb:
Deine Art von Initialisierung ist allerdings in 12.6.1, Klausel 2/3 definiert. Es ist eine spezielle Art von Initialisierung: Man initialisiert hierbei ein Objekt nicht durch den Konstruktor, sondern durch eine braced-init-list, die dann entweder die einzelnen Member nacheinander initialisiert, oder einen entsprechenden Ctor aufruft. Das nennt sich Listen-Initialisierung (engl. "list-initialization"), und funktioniert nur bei Klassen die entweder keinen Konstruktor definieren, oder die einen definieren, bei dem die Elemente der init-list ohne narrowing-conversion in die Konstruktor-Parameter konvertiert werden können.
Das hier ist aber keine list-initialization sondern eine aggregate-initialization, oder? Seit C++1 ist das irgendwie verwirrend.
Aggregat-Initialisierung durch Initialisierungsliste ist (eine spezielle Form der) List-Initialisierung. Leider reflektiert die Gliederung des neuen Standards das nicht.
Schade. Ich habe mich an eben dem orientiert.