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;
}














