C++;用{}初始化成员变量 最近我在C++中看到了成员变量初始化: class foo { public: foo(); private: bool bar{false}; };

C++;用{}初始化成员变量 最近我在C++中看到了成员变量初始化: class foo { public: foo(); private: bool bar{false}; };,c++,class,C++,Class,这样的变量初始化有什么意义/这样的成员变量声明/定义与使用这样的初始化列表有什么区别 foo::foo() : bar(false) {} 当您有很多构造函数时,它非常有用布尔条{false}表示将bar设置为false,除非构造函数将其初始化为其他内容。这只是为了方便 有关更详细的解释,请参见您的最佳猜测是什么?根据查看的用法和我能找到的有关它的信息,它似乎给出了默认值?但从某种意义上讲,这与在初始化列表中给它一个默认值有何不同?

这样的变量初始化有什么意义/这样的成员变量声明/定义与使用这样的初始化列表有什么区别

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

当您有很多构造函数时,它非常有用<代码>布尔条{false}表示将bar设置为false,除非构造函数将其初始化为其他内容。这只是为了方便


有关更详细的解释,请参见

您的最佳猜测是什么?根据查看的用法和我能找到的有关它的信息,它似乎给出了默认值?但从某种意义上讲,这与在初始化列表中给它一个默认值有何不同?