Boucle for() basée sur une plage avec std::map
Dans C 11 et versions ultérieures, boucles for() basées sur une plage offrent un moyen pratique de parcourir les conteneurs. Lors d'une itération sur des conteneurs simples comme des vecteurs, chaque élément est facilement accessible en tant que variable de boucle. Cependant, pour les conteneurs complexes tels que les cartes, comprendre le type de variable de boucle devient crucial.
Considérez l'extrait de code suivant :
<code class="cpp">std::map<foo, bar> testing = { /*...blah...*/ }; for (auto abc : testing) { std::cout << abc << std::endl; std::cout << abc->first << std::endl; }
Dans ce scénario, chaque élément est un std : :map Pour C 17 et versions ultérieures : Pour C 11 et C 14 : Vous pouvez également marquer kv comme const pour une vue en lecture seule des valeurs. 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!<code class="cpp">for (auto& [key, value] : myMap) {
std::cout << key << " has value " << value << std::endl;
}</code>
<code class="cpp">for (const auto& kv : myMap) {
std::cout << kv.first << " has value " << kv.second << std::endl;
}</code>