首頁 >後端開發 >C++ >如何在 C 中正確初始化常數資料成員?

如何在 C 中正確初始化常數資料成員?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-05 00:42:11436瀏覽

How to Properly Initialize Const Data Members in C  ?

C 中的常數資料成員初始化

在C 中,當嘗試在類別聲明中初始化常數資料成員時,會出現諸如「 ISO C 禁止初始化成員」和「使't' 靜態」可能會出現。要解決這個問題,必須了解 const 資料成員的性質。

常數變數表示在程式執行期間​​無法修改的值。然而,C 要求物件定義具有唯一的聲明。為了遵守這條規則,const 變數不能在類別聲明中定義。

解決方案在於使用初始化列表在類別宣告之外定義 const 變數。初始化const 資料成員的語法為:

className() : memberName(value) {}

在您的範例中:

#include <iostream>

using namespace std;

class T1
{
  const int t;

public:
  T1() : t(100) {}
};

int main()
{
  T1 obj;
  cout << "T1 constructor: " << obj.t << endl;
  return 0;
}

此程式碼在物件建構期間使用值100 初始化const 資料成員t,從而避免了上述錯誤。

以上是如何在 C 中正確初始化常數資料成員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn