定数データ メンバーの初期化
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; } };
Initializer List
コンストラクター内の初期化子リストは、const データ メンバーを初期化します。クラスの初期化前。これにより、クラス オブジェクトが作成される前に値を割り当てることができます。
その他の考慮事項
初期化子リストを使用して const データ メンバーを初期化する場合は、次のことを行う必要があることに注意することが重要です。コンストラクター内で実行され、プログラムの後半で変更することはできません。
以上がC で定数データ メンバーを適切に初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。