[关闭]
@why-math 2014-12-27T07:30:32.000000Z 字数 331 阅读 879

C++11中的类数据成员初始化方法

C++


在 C++11 中, 类的数据成员可以在类声明
中初始化:

  1. 非静态的数据成员
  2. 静态的常量表达式数据成员
  3. 静态的常量数据成员
  4. 静态的整形或枚举类型常量数据成员
  1. class X {
  2. int i = 5;
  3. const float f = 3.12f;
  4. static const int j = 42;
  5. static constexpr float g = 9.5f;
  6. static constexpr int m[3] = {0,1,2};
  7. }

注:
1. 其中 int m[3] 为整型数组数据成员, 所以应该用constexpr表达式
2. C++11 新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量是否是一个常量表达式。声明为constexpr 的变量一定是一个常量,而且必须用常量表达式初始化。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注