ホームページ >バックエンド開発 >C++ >コンストラクター初期化リストを使用して C で `const` 配列メンバーを初期化する方法

コンストラクター初期化リストを使用して C で `const` 配列メンバーを初期化する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 17:26:03594ブラウズ

How to Initialize `const` Array Members in C   Using Constructor Initialization Lists?

コンストラクター初期化リストを使用して Const 配列メンバーを初期化する

C では、 const 修飾子を持つクラス メンバーは定数とみなされ、後で変更することはできません初期化。これにより、クラス初期化子リストでそのようなメンバーをどのように初期化するかという問題が生じます。次のクラス定義を考えてみましょう。

<code class="cpp">class MyClass {
public:
    const int arr[2];
};</code>

arr は const 宣言されているため、コンストラクター関数本体内で初期化できません。ただし、C 11 では、コンストラクター初期化リストで const メンバーを初期化できる新機能が導入されました。

<code class="cpp">struct MyClass {
    const int arr[2];

    MyClass() :
        arr{ 2, 3 }
{
    // Other construction logic
}
};</code>

この例では、arr メンバーはコンストラクター初期化リストの値 {2, 3} で初期化されます。 。これにより、arr.

に異なる定数値を使用して MyClass の複数のインスタンスを作成できるようになります。

以上がコンストラクター初期化リストを使用して C で `const` 配列メンバーを初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。