このエントリは、C++11 Advent Calendar 2011の参加記事です。 今回は、C++11の統一初期化記法(Uniform Initialization)を使用したスタイル改善を紹介します。 統一初期化記法とは まず統一初期化記法というのは、コンストラクタの呼び出しを、関数呼び出しで使用する丸カッコだけでなく、Cからあった集成体初期化の波カッコも使えるようにしよう、というものです。 struct X { X(int a, double b, const std::string& c) {} }; X x1(1, 3.14, "hello"); // これまでの初期化構文 X x2{1, 3.13, "hello"}; // C++11で追加された初期化構文 初期化子リストとの統一 C++11では、ユーザー定義型でも配列の初期化構文を使えるようにするためにinitializer