Вы, конечно, будете смеяться, …
May 4, 2011 · CommentsC/C++
… но я понятия не имел, что вложенные структуры в C/C++ можно инициализировать плоским списком значений. Есть, например, вот такая структура:
struct foo {
int value;
};
struct bar {
int value;
};
struct foobar {
foo value1;
bar value2;
int value3;
};
Её можно инициализировать вот так:
foobar data = { { 1 }, { 2 }, 3 };
А можно и так:
foobar data = { 1, 2, 3 };
Компилятор съест оба варианта кода и не поморщится.
PS. Ну а чё, - эксперт в C, больше десятка лет в индустрии, то-сё. :-)