Maison > Article > développement back-end > Comment l'initialisation par défaut est-elle gérée pour `std::array` dans 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
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>
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>
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!