C ++ 11,默认成员构造是件好事吗?

thp9

从C ++ 11开始,我们可以默认在类中构造变量,如下所示:

class Foo{
private:
    int bar = 0;
};

我很少见到有人使用此功能

这是一个好习惯吗?

克瑞克(Kerrek SB)

这是一个样式问题,但是有一些普遍考虑的问题:

如果类的所有构造函数都必须以相同的方式初始化成员,因为初始值在某种程度上是类不变式的一部分,那么它更易读和易于记录,并且使用内联初始化器的时间更短,如果您需要更改初始值,则重复数据删除将消除错误源。

否则,如果不同的构造函数提供不同的初始值,那么即使技术上允许,您也不应具有内联初始化器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++ c-tor处理默认成员值构造异常?

来自分类Dev

C ++ c-tor处理默认成员值构造异常?

来自分类Dev

C ++ 11:使用非静态成员函数作为类构造函数中的默认参数

来自分类Dev

结构中的默认成员值或默认构造函数参数?

来自分类Dev

C ++ 11的“默认”只能应用于特殊的成员函数吗?

来自分类Dev

C ++ 11的“默认”只能应用于特殊的成员函数吗?

来自分类Dev

在C#8.0中,有没有办法在类中公开默认成员实现?

来自分类Dev

C ++ 11私有默认构造函数

来自分类Dev

从C ++ 03到C ++ 11的代码迁移:我应该对隐式默认move构造函数持谨慎态度吗?

来自分类Dev

抽象类可以在C ++ 11中具有构造函数和私有成员吗

来自分类Dev

公共班级的默认成员

来自分类Dev

忽略别名是件好事吗?

来自分类Dev

C ++ 11实现移动构造函数并移动成员向量

来自分类Dev

C ++ 11中类数据成员的默认初始化

来自分类Dev

C ++ 11:默认构造函数:隐式还是显式?

来自分类Dev

使用反射获取超载的默认成员

来自分类Dev

IcCube-忽略默认成员

来自分类Dev

使用windows.ha是件好事吗?

来自分类Dev

C ++初始化程序列表成员仍在调用默认构造函数?

来自分类Dev

C++ 如何使用隐藏的默认构造函数初始化成员?

来自分类Dev

C++ 为 Struct 及其继承的成员调用默认构造函数

来自分类Dev

使用默认默认构造函数的C ++ 11值初始化

来自分类Dev

C ++默认参数类成员

来自分类Dev

为什么就地成员初始化在C ++ 11中使用副本构造函数?

来自分类Dev

对于没有任何构造函数的类,在C ++ 11中自动生成的类成员函数

来自分类Dev

MVC5简单成员资格/默认成员资格

来自分类Dev

C ++结构默认构造函数

来自分类Dev

在类中,数组成员C ++ 11的默认初始化程序

来自分类Dev

c ++ 11首先是什么?构造函数或默认值?

Related 相关文章

  1. 1

    C ++ c-tor处理默认成员值构造异常?

  2. 2

    C ++ c-tor处理默认成员值构造异常?

  3. 3

    C ++ 11:使用非静态成员函数作为类构造函数中的默认参数

  4. 4

    结构中的默认成员值或默认构造函数参数?

  5. 5

    C ++ 11的“默认”只能应用于特殊的成员函数吗?

  6. 6

    C ++ 11的“默认”只能应用于特殊的成员函数吗?

  7. 7

    在C#8.0中,有没有办法在类中公开默认成员实现?

  8. 8

    C ++ 11私有默认构造函数

  9. 9

    从C ++ 03到C ++ 11的代码迁移:我应该对隐式默认move构造函数持谨慎态度吗?

  10. 10

    抽象类可以在C ++ 11中具有构造函数和私有成员吗

  11. 11

    公共班级的默认成员

  12. 12

    忽略别名是件好事吗?

  13. 13

    C ++ 11实现移动构造函数并移动成员向量

  14. 14

    C ++ 11中类数据成员的默认初始化

  15. 15

    C ++ 11:默认构造函数:隐式还是显式?

  16. 16

    使用反射获取超载的默认成员

  17. 17

    IcCube-忽略默认成员

  18. 18

    使用windows.ha是件好事吗?

  19. 19

    C ++初始化程序列表成员仍在调用默认构造函数?

  20. 20

    C++ 如何使用隐藏的默认构造函数初始化成员?

  21. 21

    C++ 为 Struct 及其继承的成员调用默认构造函数

  22. 22

    使用默认默认构造函数的C ++ 11值初始化

  23. 23

    C ++默认参数类成员

  24. 24

    为什么就地成员初始化在C ++ 11中使用副本构造函数?

  25. 25

    对于没有任何构造函数的类,在C ++ 11中自动生成的类成员函数

  26. 26

    MVC5简单成员资格/默认成员资格

  27. 27

    C ++结构默认构造函数

  28. 28

    在类中,数组成员C ++ 11的默认初始化程序

  29. 29

    c ++ 11首先是什么?构造函数或默认值?

热门标签

归档