ホームページ  >  記事  >  バックエンド開発  >  C のクラス初期化子で定数配列を初期化する方法

C のクラス初期化子で定数配列を初期化する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 03:44:02379ブラウズ

How to Initialize a Constant Array in a Class Initializer in C  ?

C のクラス初期化子で定数配列を初期化する

C で、クラスの初期化子リスト内の定数配列を初期化するには、少し異なる方法が必要です。他のメンバー変数を初期化するよりもアプローチが簡単です。定数配列がインスタンス固有の値を持つことになるケースを見てみましょう。

次のクラスについて考えてみましょう:

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

コンストラクター初期化リスト内の特定の値で b を初期化するには、次を使用します。次の構文:

<code class="cpp">a::a() : b{2, 3} {
    // Other initialization stuff
}</code>

このアプローチは、C 11 の中括弧で囲まれた初期化子リスト構文に依存しています。これにより、クラス初期化子内で定数配列を初期化できます。以下に例を示します。

<code class="cpp">struct a {
    const int b[2];

    // Constructor
    a() : b{2, 3} {}
};

int main() {
    a a;
}</code>

この例では、 a の各インスタンスは、指定された値を持つ一意の b 配列を持ちます。この手法は C 98 以前のバージョンでは使用できないことに注意してください。

以上がC のクラス初期化子で定数配列を初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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