Ich habe die folgenden Klassendefinitionen in C++:Wie initialisiert man member-struct in der Initialisierungsliste der C++ Klasse?
struct Foo {
int x;
char array[24];
short* y;
};
class Bar {
Bar();
int x;
Foo foo;
};
und möchte die „foo“ Struktur initialisiert werden (mit allen ihren Mitgliedern) auf Null in der Initialisierungsliste der Bar-Klasse. Kann dies auf diese Weise erfolgen:
Bar::Bar()
: foo(),
x(8) {
}
...?
Oder was genau macht die foo (x) in der Initialisierungsliste?
Oder ist die Struktur sogar vom Compiler automatisch auf Null initialisiert?
Beachten Sie, dass Member in der Initialisierungsliste in derselben Reihenfolge aufgelistet werden sollten, in der sie deklariert sind, während Sie zuerst 'x' deklarieren, aber in der Initialisierungsliste den zweiten Platz haben. –