Maison  >  Article  >  développement back-end  >  Comment fonctionne l'initialisation par défaut avec `std::array` en C 11 ?

Comment fonctionne l'initialisation par défaut avec `std::array` en C 11 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 06:13:31332parcourir

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

Initialisation par défaut dans std::array

L'initialisation par défaut est l'initialisation qui se produit lorsqu'aucun initialiseur explicite n'est fourni. Avec C 11 std::array, la syntaxe std::array X ; garantit que tous les éléments du tableau seront initialisés par défaut.

Selon la norme C 11 (§8.5/11), tout objet sans initialiseur explicite est initialisé par défaut. Cela inclut les objets std::array et les tableaux traditionnels de style C. Notamment, l'initialisation par défaut n'a aucun effet sur les types non-classes et non-tableaux, laissant leur valeur indéterminée.

Initialisation de la valeur sur tous les tableaux

Alors que l'initialisation par défaut ne laisse pas -classe, types non-tableaux indéterminés, l'initialisation de la valeur définit les éléments à leurs valeurs par défaut. En C 11, l'initialisation de la valeur est obtenue en fournissant un initialiseur vide pour chaque élément du tableau :

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

Cela initialisera la valeur de tous les éléments des tableaux, ce qui entraînera l'initialisation de plain_int et de tous les éléments du tableau à zéro.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn