初始化常數資料成員
在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中文網其他相關文章!