c++17のaggregate initialization
c++では、十分に「しょぼい」クラスに対して、aggregate initializationが使えるみたいです。
aggregate initializationはリスト初期化の一種で、
色々できることがありますが、例をあげると
struct Foo { int i; float f; };
というクラスは、
Foo f = { 4, 2. };
のようにして初期化できます。便利ですね。 c++17からは、これが更に拡張されるみたいです
例えば、
struct Header { long l; }; struct Foo : Header { int i; };
このいかにもC言語風の構造体は、
Foo f = { {4}, 2 };
もしくは
Foo f = { 4, 2 };
のように初期化できます。良いですね!