C ++使用{}初始化成员变量

时间:2017-07-26 14:38:09

标签: c++ class

最近我在c ++中看到过成员变量初始化:

class foo
{
public:
    foo();
private:
    bool bar{false};
};

像这样的变量初始化有什么意义/这样的成员变量声明/定义如何与使用初始化列表不同或不同:

foo::foo() : bar(false) {}

1 个答案:

答案 0 :(得分:3)

当你有很多构造函数时它很有用。 bool bar{false};表示将bar设置为false,除非构造函数将其初始化为其他内容。这只是为了方便

有关更详细的说明,请参阅http://en.cppreference.com/w/cpp/language/data_members#Member_initialization