ホームページ  >  記事  >  バックエンド開発  >  std::array をデフォルトで初期化できますか?

std::array をデフォルトで初期化できますか?

DDD
DDDオリジナル
2024-10-31 03:29:02653ブラウズ

Can std::array be Default-Initialized?

std::array はデフォルトで初期化できますか?

変数を std::array として宣言することで、 x; の場合、そのすべての要素がデフォルトで初期化されることを保証できます。 C 11 言語標準 (§8.5/11) によれば、明示的な初期化子のないオブジェクトはデフォルトで初期化されます。

ただし、デフォルトの初期化は非クラス、非クラスには影響を与えないことに注意してください。配列型 (§8.5/6)、値は不定のままです。たとえば、このような型のデフォルトで初期化された配列は不定の値になります。

配列の値の初期化

すべての配列要素を特定の値に初期化したい場合value T{}、これはデフォルトの初期化ではなく、値の初期化です (8.5/7)。 C 11 では、空の初期化子を使用して簡単に配列の値を初期化できます。

<code class="cpp">int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};</code>

これにより、すべての配列要素が値で初期化され、整数の一貫した値 0 とそれぞれのデータのデフォルト値が得られます。タイプ。

以上がstd::array をデフォルトで初期化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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