"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > std::array peut-il être initialisé par défaut ?

std::array peut-il être initialisé par défaut ?

Publié le 2024-12-21
Parcourir:128

Can std::array be Default-Initialized?

std::array peut-il être initialisé par défaut ?

En déclarant une variable comme std::array x; , vous pouvez garantir que tous ses éléments seront initialisés par défaut. Selon la norme du langage C 11 (§8.5/11), tout objet sans initialiseur explicite est initialisé par défaut.

Cependant, vous devez être conscient que l'initialisation par défaut n'a aucun effet sur les objets non-classes, non- types de tableaux (§8.5/6), laissant leurs valeurs indéterminées. Par exemple, un tableau initialisé par défaut de tels types aura des valeurs indéterminées.

Valeur-Initialisation des tableaux

Si vous souhaitez initialiser tous les éléments du tableau à un niveau spécifique valeur T{}, ce n'est pas une initialisation par défaut mais une initialisation par valeur (8.5/7). Vous pouvez facilement initialiser des tableaux par valeur en C 11 en utilisant des initialiseurs vides :

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

Cela initialisera la valeur de tous les éléments du tableau, ce qui donnera une valeur cohérente de 0 pour les entiers et les valeurs par défaut pour leurs types de données respectifs.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3