最近我在c ++中看到过成员变量初始化:
class foo
{
public:
foo();
private:
bool bar{false};
};
像这样的变量初始化有什么意义/这样的成员变量声明/定义如何与使用初始化列表不同或不同:
foo::foo() : bar(false) {}
答案 0 :(得分:3)
当你有很多构造函数时它很有用。 bool bar{false};
表示将bar设置为false,除非构造函数将其初始化为其他内容。这只是为了方便
有关更详细的说明,请参阅http://en.cppreference.com/w/cpp/language/data_members#Member_initialization