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

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

Susan Sarandon
Susan Sarandon原創
2024-12-09 00:58:11825瀏覽

How to Properly Initialize Constant Data Members in C  ?

初始化常數資料成員

在C程式設計中,常數資料成員用來定義初始化後不能修改的值。當嘗試在類別定義中初始化 const 資料成員時,由於 C 的限制,您可能會遇到錯誤。

錯誤解釋

編譯器錯誤是由於C 禁止在類別定義中初始化 const 資料成員。這是為了防止在不同的翻譯單元中對同一個資料成員進行多個定義。

解:類別外初始化

要初始化 const 資料成員,必須是定義在類別定義之外。這可以使用建構函式中的初始值設定項清單來實現,如下所示:

#include <iostream>

using namespace std;

class T1 {
  const int t;  // Declaration of const data member

public:

  T1() : t(100)  // Initialization in initializer list
  {
    cout << "T1 constructor: " << t << endl;
  }
};

初始值設定項清單

建構函式中的初始值設定項列表初始化const 資料成員在類別初始化之前。這允許在創建類別物件之前分配值。

進一步注意事項

需要注意的是,使用初始值設定項列表初始化const 資料成員必須在構造函數中完成,並且不能在程式中稍後修改。

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

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