Maison >développement back-end >C++ >Comment parcourir une carte imbriquée en C ?
Parcourir une carte de cartes C imbriquée
Pour parcourir une carte imbriquée en C, où la carte contient une carte de chaînes à chaînes, vous pouvez utiliser la syntaxe de boucle for basée sur des plages. Voici une solution mise à jour pour C 11 et au-delà :
std::map<std::string, std::map<std::string, std::string>> mymap; for (const auto &[outer_key, inner_map] : mymap) { // Outer key is accessible via 'outer_key' for (const auto &[inner_key, inner_value] : inner_map) { // Inner key is accessible via 'inner_key' // Inner value is accessible via 'inner_value' } }
Cette approche élimine les copies inutiles et fournit un moyen concis et élégant d'accéder aux clés et aux valeurs dans la carte imbriquée.
Pour C 17, vous pouvez encore simplifier cela en utilisant des liaisons structurées :
for (const auto &[outer_key, inner_map] : mymap) { for (const auto &[inner_key, inner_value] : inner_map) { // Access your 'outer_key', 'inner_key', and 'inner_value' directly } }
Cette technique vous permet d'accéder directement aux variables sans avoir à définir des références intermédiaires comme ent1, ent2, et ainsi de suite.
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!