C での Const データ メンバーの初期化
C で、クラス宣言内で const データ メンバーを初期化しようとすると、次のようなエラーが発生します。 ISO C はメンバーの初期化を禁止しています」と「't' の静的化」が発生する可能性があります。これを解決するには、const データ メンバーの性質を理解することが不可欠です。
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; }
このコードは、オブジェクトの構築中に const データ メンバー t を値 100 で初期化し、前述のエラー。
以上がC で Const データ メンバーを適切に初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。