Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Mengulang Melalui Peta Bersarang dalam C?
Membulat melalui Peta C Bersarang bagi Peta
Untuk mengulangi peta bersarang dalam C , di mana peta mengandungi peta rentetan ke rentetan, anda boleh menggunakan sintaks gelung berasaskan julat. Berikut ialah penyelesaian yang dikemas kini untuk C 11 dan seterusnya:
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' } }
Pendekatan ini menghapuskan salinan yang tidak diperlukan dan menyediakan cara yang ringkas dan elegan untuk mengakses kekunci dan nilai dalam peta bersarang.
Untuk C 17, anda boleh memudahkan lagi perkara ini menggunakan pengikatan berstruktur:
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 } }
Teknik ini membolehkan anda untuk mengakses terus pembolehubah tanpa perlu mentakrifkan rujukan perantaraan seperti ent1, ent2 dan sebagainya.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengulang Melalui Peta Bersarang dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!