从C ++ 11开始,我们可以默认在类中构造变量,如下所示:
class Foo{
private:
int bar = 0;
};
我很少见到有人使用此功能
这是一个好习惯吗?
这是一个样式问题,但是有一些普遍考虑的问题:
如果类的所有构造函数都必须以相同的方式初始化成员,因为初始值在某种程度上是类不变式的一部分,那么它更易读和易于记录,并且使用内联初始化器的时间更短,如果您需要更改初始值,则重复数据删除将消除错误源。
否则,如果不同的构造函数提供不同的初始值,那么即使技术上允许,您也不应具有内联初始化器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句