Dans ce rapide tutoriel, nous allons voir comment itérer sur la carte en C++.
Il existe plusieurs façons d'itérer sur la carte en C++. Avec les nouvelles versions de C++, il existe des moyens plus avancés d'itérer sur la carte en C++.
Passons en revue chacun par un.
Utilisation de la boucle for avec stp::map
Nous avons créé une carte nommée paysCapitalCarte
et y insérer des paires clé-valeur.
#inclure
#inclure
Production:
Chine : Pékin
France : Paris
Inde : Delhi
Népal :Katmandou
Comme vous pouvez le voir, nous avons imprimé country:capital(key:value) en utilisant la boucle for.
Si vous remarquez, nous avons utilisé auto
spécificateur de type pour l'itérateur de carte en raison de la lisibilité. Vous pouvez utiliser carte::itérateur
explicitement aussi.
Noter: Si vous voyez la sortie, elle est triée par clés dans l'ordre croissant. En effet, std::map est un conteneur associatif trié avec le comparateur fourni (à partir de la version C++11). Comme nous n'avons fourni aucun comparateur, C++ a donc utilisé le comparateur par défaut pour la chaîne.
Utilisation de la boucle while avec stp::map
Nous pouvons également utiliser une boucle while au lieu d'une boucle for.
#inclure
#inclure
Production:
Chine : Pékin
France : Paris
Inde : Delhi
Népal :Katmandou
Utilisation de la boucle for Range (à partir de la version C++11)
Si vous utilisez la version C++11, c'est le moyen le plus élégant d'itérer sur la carte en C++. Vous pouvez éviter les boucles cubiques traditionnelles et les utiliser à la place.
#inclure
#inclure
Production:
Chine : Pékin
France : Paris
Inde : Delhi
Népal :Katmandou
Utilisation d'une boucle for basée sur une plage avec des paires clé-valeur (version C++17 et suivantes)
Cette version est prise en charge à partir de c++17 et offre un moyen plus flexible d'itérer sur la carte. Vous pouvez accéder explicitement à la paire de valeurs-clés dans la carte, ce qui fournit une solution encore plus lisible.
#inclure
#inclure
Production:
Chine : Pékin
France : Paris
Inde : Delhi
Népal :Katmandou
C'est tout sur la façon d'itérer sur la carte en C++. Bon codage!