具有不同语法的C ++ 11构造函数初始值设定项

时间:2015-07-29 13:43:43

标签: c++ c++11 constructor initializer-list

我最后在参考文献中this page

我对这个例子感到有些困惑:

class X {
    int a, b, i, j;
public:
    const int& r;
    X(int i)
      : r(a) // initializes X::r to refer to X::a
      , b{i} // initializes X::b to the value of the parameter i
      , i(i) // initializes X::i to the value of the parameter i
      , j(this->i) // initializes X::j to the value of X::i
    { }
};

使用括号初始化列表语法(如b{x})和传统的括号语法b(x)之间有什么区别吗?

我什么时候应该使用它们?

0 个答案:

没有答案