boostに知らないことがいっぱいあってもあきらめがつくが
C++0xで知らないことだらけなのはちょっとあせる。
one-phase constructionについて N3059まとめ をみてみると C++0x Uniform initializationというのがあるらしくて変数の初期化に () ではなくて {} がつかえるそうだ。 C++0x Uniform initializationとか C++0x - 初期化子リスト(Initializer List)とか
one-phase constructionについて N3059まとめ をみてみると C++0x Uniform initializationというのがあるらしくて変数の初期化に () ではなくて {} がつかえるそうだ。 C++0x Uniform initializationとか C++0x - 初期化子リスト(Initializer List)とか
struct S { int a; const char* b; }; struct T { int a; T(int b) : a{b} {} //あたらしいやりかた //T(int b) : a = b {} -> NG }; int main() { S s1 = { 1, "1" }; //いままでどおり S s2 { 2, "2" }; //これがあたらしいやりかた T t (3); int v[4] {1,2,3,4}; // = がなくてもよい return 0; }