ホームページ >バックエンド開発 >C++ >C で 2D std::array を正しく初期化する方法

C で 2D std::array を正しく初期化する方法

DDD
DDDオリジナル
2024-11-26 10:22:13566ブラウズ

How to Correctly Initialize a 2D std::array in C  ?

2D std::array 初期化構文について

std::array<:array> 型の 2D 配列を初期化しようとすると、 2>中かっこを使用すると、エラーが発生する可能性があります。これは、std::array が C スタイルの配列をカプセル化する集合体であるためです。これを適切に初期化するには、クラス自体には外側の中かっこのペアと、実際の C 配列には内側の中かっこの両方が必要です。

次の例を考えてみましょう。

std::array<int, 3> a1 = {{1, 2, 3}}; // Valid initialization of a 1D array

この概念を2D 配列:

std::array<std::array<int, 3>, 2> a2 {
    {{ {1, 2, 3} }, { {4, 5, 6} }} // Correct initialization
};

この中で例:

  • 外側の中括弧 { } は、クラスの初期化全体を囲みます。
  • 内側の中括弧 { { } } は、個々の C 配列の初期化を囲みます。

正しい例の追加の中括弧により、コンパイラーはクラスの初期化と含まれる配列の初期化を区別できるようになります。これにより、2D 配列が適切にコンパイルされ、初期化されます。

以上がC で 2D std::array を正しく初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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