Maison >développement back-end >C++ >Quel est le type de valeur de la variable dans une boucle for() basée sur une plage avec std :: map ?
Boucles for() basées sur une plage avec std::map : disséquer le type de valeur
Lors de l'utilisation de boucles for() basées sur une plage avec std::map, la compréhension du type valeur de la variable devient cruciale. Dans C 11 et versions ultérieures, les boucles basées sur des plages fournissent un accès direct aux éléments individuels dans un conteneur. Cependant, lorsqu'il s'agit de cartes, le type de variable dans de telles boucles peut nécessiter des précisions supplémentaires.
Dans std::map, chaque élément est représenté par std::pair
C 17 et supérieur
En C 17 et supérieur, les boucles for() améliorées basées sur une plage permettent des boucles for() concises et itération élégante sur std::map. Ici, la variable est déclarée comme un tuple contenant la clé et la valeur :
<code class="cpp">for (auto& [key, value]: myMap) { // Access key and value directly }</code>
C 11 et C 14
En C 11 et C 14, amélioré pour les boucles peuvent être utilisées, mais la clé et la valeur doivent être extraites manuellement de chaque std::pair:
<code class="cpp">for (const auto& kv : myMap) { // Extract key and value manually: auto key = kv.first; auto value = kv.second; }</code>
Comprendre le type de valeur
La clé à retenir est que le type de valeur dans les boucles for() basées sur une plage avec std::map est std::pair
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!