这两个初始化有什么区别?

时间:2016-11-27 03:32:52

标签: c++ variables constructor initialization

这些是如何初始化的?一个比另一个更有利吗?

class Foo{
public:
    Foo();
private:
    int x_;
};

Foo::Foo() {
    this->x_ = 5;
}

Foo::Foo()
: x_(5)
{}

1 个答案:

答案 0 :(得分:0)

这是成员初始化,通常更可取。

Foo::Foo()
  : x_(5)
{}

更深入的答案在这里:Why should I prefer to use member initialization list?