Вы, конечно, будете смеяться, …

… но я понятия не имел, что вложенные структуры в 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, больше десятка лет в индустрии, то-сё. :-)

comments powered by Disqus