Comment utiliser la plage basée pour la boucle en C ++

Comment utiliser la plage basée pour la boucle en C ++

Le langage de programmation C ++ Plage basé sur la boucle est une caractéristique relativement récente qui a été introduite pour la première fois dans C ++ 11. Plage basé sur les boucles exécuter une boucle sur la plage. Ils travaillent avec n'importe quel conteneur qui a un itérateur, y compris des tableaux, des vecteurs, des cartes, des ensembles et même des types définis par l'utilisateur qui implémentent les opérations nécessaires.

Syntaxe de la gamme basée pour la boucle

UN Plage basé sur la boucle a une syntaxe très simple. Il est composé de la variable de boucle, du conteneur ou de la plage pour itérer et un côlon.

Instruction de boucle pour (range_declaration: range_expression)

range_declaration: La déparation de la plage est la déclaration d'une variable avec le même type que les éléments de l'expression du composant de plage. Pour déterminer automatiquement le type de composants dans un range_expression, Le mot-clé automatique est fréquemment utilisé.

range_expression: Chaque expression qui représente une liste d'éléments est un range_expression.

Énoncé de la boucle: Le corps d'une boucle pour une boucle se compose d'une ou plusieurs déclarations qui doivent être répétées jusqu'à la fin de la gamme_expression.

Méthodes pour exécuter une plage basée sur la boucle

Il existe trois méthodes qui peuvent être utilisées pour Plage basé sur la boucle.

Méthode 1: Utilisation des tableaux

Plage basé sur la boucle peut être exécuté en utilisant des tableaux comme celui-ci.

#inclure
Utilisation de Namespace Std;
int main()
int numArray [] = 6, 7, 8, 9, 10;
pour (int n: numArray)
couter << n << " ";

retour 0;

Dans le code ci-dessus, un tableau entier appelé NumArray a été initialisé. Ensuite, les éléments de NumArray ont été imprimés en utilisant un Plage basé sur la boucle.

Sortir

Méthode 2: Utilisation des vecteurs

Plage basé sur la boucle peut être exécuté à l'aide de vecteurs comme celui-ci.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

int x;
vecteur v = 1, 2, 3, 4, 5;
pour (int x: v)

couter << x << " ";

retour 0;

Dans le code ci-dessus, un vecteur appelé V a été initialisé. Ici, les éléments du vecteur V ont été imprimés en utilisant un Plage basé sur la boucle.

Sortir

Méthode 3: Déclarer la collection à l'intérieur de la boucle

Plage basé sur la boucle peut également être déclaré à l'intérieur de la boucle. Il fonctionne de manière similaire à la façon dont un réel tableau ou un vecteur.

#inclure
Utilisation de Namespace Std;
int main()
pour (int n: 5, 10, 15, 20, 25)
couter << n << " ";

retour 0;

Dans le code ci-dessus, la collection est déclarée à l'intérieur de la boucle elle-même puis imprimée.

Sortir

Avantages et inconvénients de la gamme basée pour la boucle

Plage basé sur la boucle a plus d'avantages que conventionnel pour Boucle de plusieurs manières, en particulier lorsque vous travaillez avec des conteneurs. Comme la variable de boucle est définie à l'intérieur de la boucle et que la plage est explicitement indiquée, elle rend le code beaucoup plus court et plus facile à comprendre. Ils sont également plus sûrs, car il n'est pas nécessaire de s'inquiéter des erreurs hors un ou d'autres erreurs d'indexation. Ils sont plus adaptables car ils peuvent utiliser n'importe quel conteneur, quel que soit son type ou sa taille. Le Plage basé sur la boucle a plusieurs avantages, dont l'un est qu'il rend notre code plus propre et plus simple à comprendre.

Plage basé sur les boucles ont certaines restrictions, cependant. Comme la variable de boucle est une copie ou une référence à l'élément plutôt qu'à l'élément réel, il ne peut pas être utilisé pour modifier les éléments du conteneur. Comme la gamme complète est constamment itérée, nous ne pouvons pas ignorer les éléments ou itérer sur une partie des données.

Conclusion

Plage basé sur la boucle est une caractéristique puissante et polyvalente du langage de programmation C ++. En comparaison avec les boucles conventionnelles, ils offrent une sécurité et une flexibilité améliorées ainsi qu'une approche claire et lisible pour itérer dans les conteneurs et réduire le code. Plage basé sur la boucle est un must à apprendre pour les programmeurs C ++.