Maison > développement back-end > C++ > Comment l'initialisation par défaut est-elle gérée pour `std::array` dans C 11 ?

Comment l'initialisation par défaut est-elle gérée pour `std::array` dans C 11 ?

Susan Sarandon
Libérer: 2024-10-30 22:14:30
original
399 Les gens l'ont consulté

How is Default Initialization Handled for  `std::array` in C  11?

Initialisation par défaut du std::array de C 11

L'initialisation par défaut, effectuée lorsqu'aucun initialiseur explicite n'est spécifié, est garantie par le standard du langage C pour tous les objets sans initialiseur explicite, y compris les instances de std::array et T[N] (§8.5/11).

Cependant, il est important de noter que l'initialisation par défaut n'a aucun effet sur les types non-classes et non-tableaux, laissant leur valeur indéterminée (§8.5/6) . Par exemple, un tableau de tels types initialisé par défaut aura des valeurs indéterminées :

<code class="cpp">int plain_int;
int c_style_array[13];
std::array<int, 13> cxx_style_array;</code>
Copier après la connexion

Pour initialiser explicitement tous les éléments à T{}, utilisez value-initialization (8.5/7) :

<code class="cpp">int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};</code>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal