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

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

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

注:

  1. 其中 int m[3] 为整型数组数据成员, 所以应该用constexpr表达式
  2. C++11 新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量是否是一个常量表达式。声明为constexpr 的变量一定是一个常量,而且必须用常量表达式初始化。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容