Maison > développement back-end > C++ > Comment puis-je initialiser efficacement tous les éléments d'un tableau C à une valeur non nulle ?

Comment puis-je initialiser efficacement tous les éléments d'un tableau C à une valeur non nulle ?

Patricia Arquette
Libérer: 2024-12-27 21:50:10
original
474 Les gens l'ont consulté

How Can I Efficiently Initialize All Elements of a C   Array to a Non-Zero Value?

Comprendre l'initialisation d'un tableau en C

Le sujet de l'initialisation d'un tableau en C peut prêter à confusion, en particulier lorsque l'on tente d'initialiser tous les éléments à un non -zéro valeur par défaut. Dans cet article, nous aborderons les questions courantes et fournirons des solutions pour une initialisation efficace du tableau.

Paramètre de la valeur initiale

Dans le code donné :

int array[100] = {-1};
Copier après la connexion

On s'attend à ce que tous les éléments soient initialisés à -1. Cependant, seul le premier élément est défini sur -1 ; les éléments restants sont initialisés à 0 avec des valeurs aléatoires. En effet, les éléments omis sont implicitement définis sur 0.

Pour initialiser tous les éléments à -1, la syntaxe correcte est :

int array[100] = {-1, -1, -1, ...};
Copier après la connexion

ou vous pouvez utiliser la fonction std::fill_n à partir de l' header :

std::fill_n(array, 100, -1);
Copier après la connexion

Comparaison des performances

La méthode d'initialisation par défaut (int array[100] = {-1};) et la méthode std::fill_n à la fois effectuer efficacement l'initialisation du tableau. Bien que l'initialisation par défaut puisse sembler plus rapide, il est important de noter qu'elle peut dépendre de l'implémentation et qu'il n'est pas garanti qu'elle soit plus rapide dans tous les cas.

Pour les tableaux plus grands, la méthode std::fill_n est généralement plus efficace car cela évite de créer des variables temporaires pour chaque affectation d'élément.

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!

source:php.cn
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