boostに知らないことがいっぱいあってもあきらめがつくが C++0xで知らないことだらけなのはちょっとあせる。
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;
}
koie