Dans ce didacticiel, nous allons découvrir la gamme de boucles C ++ et ses meilleures pratiques à l'aide d'exemples.
C ++ 11 a introduit la for
boucle à distance . Cette for
boucle est spécifiquement utilisée avec des collections telles que des tableaux et des vecteurs .
Par exemple,
// initialize an int array int num(3) = (1, 2, 3); // use of ranged for loop for (int var : num) ( // code )
Ici, la for
boucle à distance itère le tableau num du début à la fin. La int
variable var stocke la valeur de l'élément du tableau à chaque itération.
Sa syntaxe est,
for (rangeDeclaration : rangeExpression) ( // code )
Dans l'exemple ci-dessus,
- rangeDeclaration -
int var
- rangeExpression - num

Exemple 1: Rangé pour une boucle utilisant un tableau
#include using namespace std; int main() ( // initialize array int numArray() = (1, 2, 3, 4, 5); // use of ranged for loop to print array elements for (int n : numArray) ( cout << n << " "; ) return 0; )
Production
1 2 3 4 5
Dans cet exemple, nous avons déclaré et initialisé un int
tableau nommé numArray. Ici, nous avons utilisé la for
boucle à distance pour imprimer les éléments de numArray.
- première itération - n prend la valeur du premier membre du tableau, qui est
1
- deuxième itération - n prend la valeur de
2
et est ensuite imprimé et ainsi de suite.
Remarque: la boucle à distance pour itère automatiquement le tableau de son début à sa fin. Nous n'avons pas besoin de spécifier le nombre d'itérations dans la boucle.
Exemple 2: C ++ classé pour une boucle utilisant un vecteur
#include #include using namespace std; int main() ( // declare and initialize vector vector num_vector = (1, 2, 3, 4, 5); // print vector elements for (int n : num_vector) ( cout << n << " "; ) return 0; )
Production
1 2 3 4 5
Exemple 3: déclarer une collection dans la boucle
#include using namespace std; int main() ( // define the collection in the loop itself for (int n : (1, 2, 3, 4, 5)) ( cout << n << " "; ) return 0; )
Production
1 2 3 4 5
Ici, nous avons déclaré la collection dans la boucle elle-même ie
rangeExpression = (1, 2, 3, 4, 5)
C'est également un moyen valable d'utiliser la for
boucle à distance , et cela fonctionne de la même manière que lorsque nous utilisons un tableau ou un vecteur réel.
Meilleures pratiques pour la boucle C ++
Dans les exemples ci-dessus, nous avons déclaré une variable dans la for
boucle pour stocker chaque élément de la collection à chaque itération.
int num(3) = (1, 2, 3); // copy elements of num to var for (int var : num) ( // code )
Cependant, il est préférable d'écrire la boucle for basée sur la plage comme ceci:
// access memory location of elements of num for (int &var : num) ( // code )
Notez l'utilisation de &
before var. Ici,
int var : num
- Copie chaque élément de num dans la variable var à chaque itération. Ce n'est pas bon pour la mémoire de l'ordinateur.int &var : num
- Ne copie pas chaque élément de num dans var. Au lieu de cela, accède aux éléments de num directement à partir de num lui-même. C'est plus efficace.
Remarque: l' &
opérateur est appelé opérateur de référence. Nous en apprendrons plus sur les pointeurs C ++.

Remarque: Si nous ne modifions pas le tableau / vecteur / collection dans la boucle, il est préférable d'utiliser le const
mot - clé dans la déclaration de plage.
// collection is not modified in the loop for (const int &var : num) ( // code )