ホームページ > バックエンド開発 > C++ > C で定数データ メンバーを適切に初期化する方法

C で定数データ メンバーを適切に初期化する方法

Susan Sarandon
リリース: 2024-12-09 00:58:11
オリジナル
826 人が閲覧しました

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;
  }
};
ログイン後にコピー

Initializer List

コンストラクター内の初期化子リストは、const データ メンバーを初期化します。クラスの初期化前。これにより、クラス オブジェクトが作成される前に値を割り当てることができます。

その他の考慮事項

初期化子リストを使用して const データ メンバーを初期化する場合は、次のことを行う必要があることに注意することが重要です。コンストラクター内で実行され、プログラムの後半で変更することはできません。

以上がC で定数データ メンバーを適切に初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート