<分区>
从 C++11 开始,我们可以默认在一个类中构造我们的变量,如下所示:
class Foo{
private:
int bar = 0;
};
我很少看到有人使用这个功能
这是一个好的做法吗?
标签 c++ c++11 coding-style
<分区>
从 C++11 开始,我们可以默认在一个类中构造我们的变量,如下所示:
class Foo{
private:
int bar = 0;
};
我很少看到有人使用这个功能
这是一个好的做法吗?
最佳答案
这是一个风格问题,但有一些注意事项希望是通用的:
如果你的类的所有构造函数都必须以相同的方式初始化一个成员,因为初始值在某种程度上是类的不变量的一部分,那么它既更具可读性和自记录性,也更易于使用内联初始化程序,如果您需要更改初始值,重复数据删除会消除错误源。
否则,如果不同的构造函数提供不同的初始值,那么您不应该使用内联初始化程序,即使这在技术上是允许的。
关于C++11,默认成员构造是件好事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22117951/
相关文章:
c++ - 使用派生类中的成员在父类中初始化 std::function
python - 当你不需要 python 中的索引时,你如何创建一个 For 循环?
ruby - 在 Ruby 中,String() 和 #to_s 有什么区别
java - 像这样在构造函数中调用init方法是否违反了Clean Code
c++ - MS Visual Studio 2017 上的 Variadic 模板编译问题
c++ - 这个 RLE 解码函数只解码第一个字符,我做错了什么?
c++ - 我收到错误 : call of overloaded ‘max(Cents&, Cents&)’ is ambiguous