Unter C++ gibt es einen Unterschied zwischen:
struct Foo { ... };
und:
typedef struct { ... } Foo;
Unter C++ gibt es einen Unterschied zwischen:
struct Foo { ... };
und:
typedef struct { ... } Foo;
Ein wichtiger Unterschied zwischen einem "typedef struct" und einem "struct" in C++ ist, dass die Inline-Initialisierung von Mitgliedern in "typedef structs" nicht funktioniert.
// the 'x' in this struct will NOT be initialised to zero
typedef struct { int x = 0; } Foo;
// the 'x' in this struct WILL be initialised to zero
struct Foo { int x = 0; };
Das stimmt nicht. In beiden Fällen x
initialisiert wird. Siehe Test in der Online-IDE von Coliru (Ich habe ihn auf 42 initialisiert, damit es offensichtlicher ist als bei Null, dass die Zuweisung wirklich stattgefunden hat).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Verwandte Frage und Antwort: Unterschied zwischen using und typedef in C++11
2 Stimmen
Siehe auch die damit verbundene Frage nach C