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 的變量一定是一個常量,而且必須用常量表達式初始化。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容