ホームページ >バックエンド開発 >C++ >C 11 の `std::array` でデフォルトの初期化はどのように機能しますか?

C 11 の `std::array` でデフォルトの初期化はどのように機能しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-01 06:13:31395ブラウズ

How Does Default Initialization Work with `std::array` in C  11?

std::array のデフォルトの初期化

デフォルトの初期化は、明示的な初期化子が提供されていない場合に発生する初期化です。 C 11 std::array では、構文 std::array が使用されます。 ×;配列のすべての要素がデフォルトで初期化されることを保証します。

C 11 標準 (§8.5/11) に従って、明示的な初期化子のないオブジェクトはすべてデフォルトで初期化されます。これには、std::array オブジェクトと従来の C スタイルの配列が含まれます。特に、デフォルトの初期化は非クラス、非配列型には影響せず、その値は不定のままになります。

すべての配列の値の初期化

一方、デフォルトの初期化では、値は不定のままになります。 -class、非配列型は不定、値の初期化により要素がデフォルト値に設定されます。 C 11 では、値の初期化は、各配列要素に空の初期化子を提供することで実現されます。

int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};

これにより、配列のすべての要素が値初期化され、plain_int とすべての配列要素がゼロに初期化されます。

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

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