以下の内容はhttps://yohhoy.hatenadiary.jp/entry/20131116/p1より取得しました。


initializer-listによるaggregate初期化の制約緩和

C++14 Draft N3485にてCWG defect #1270が適用され、initializer-listによるaggregate(集成体)の初期化条件が緩和された。

C++11標準ライブラリstd::vector, std::arrayにおいて Uniform initialization と Initializer list を組み合わせた場合に、N3337現在ではそれぞれ異なる表記が必要となる。2012年7月現在、CWG defect #1270に挙げられている。

std::vector<int>   x0{1,2,3,4};
std::array<int, 4> y0{{1,2,3,4}};  // {}が二重に必要
vector/arrayとUniform initialization+Initializer list

この修正により、C++14ではstd::vectorと同様にstd::arrayの初期化を行えるようになる。

std::vector<int>   x0{1,2,3,4};
std::array<int, 4> y0{1,2,3,4};
std::vector<int>   x1 = {1,2,3,4};
std::array<int, 4> y1 = {1,2,3,4};

関連URL




以上の内容はhttps://yohhoy.hatenadiary.jp/entry/20131116/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14