Lelaran Melalui Peta Bersarang dalam C
Membulat melalui peta peta dalam C boleh dicapai menggunakan gelung bersarang. Pertimbangkan bekas berikut:
std::map<std::string, std::map<std::string, std::string>> m; // Example data m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2";
Nested For Gelung:
Untuk mengulangi peta ini, gunakan nested for loops:
for (auto const &ent1 : m) { // ent1.first is the outer key for (auto const &ent2 : ent1.second) { // ent2.first is the inner key // ent2.second is the value } }
Pendekatan ini memberikan akses kepada kunci luar, kunci dalam dan nilai untuk setiap elemen dalam bersarang peta.
Penambahbaikan C 11:
Dalam C 11, gelung berasaskan julat boleh digunakan untuk memudahkan kod di atas:
for (auto const &[outer_key, inner_map] : m) { for (auto const &[inner_key, inner_value] : inner_map) { // Access outer_key, inner_key, and inner_value directly } }
C 17 Ikatan Berstruktur:
Dalam C 17, pengikatan berstruktur boleh memudahkan lagi sintaks:
for (auto const &[outer_key, inner_map] : m) { for (auto const &[inner_key, inner_value] : inner_map) { // Access outer_key, inner_key, and inner_value without need for variables } }
Dengan menggunakan kaedah ini, anda boleh menggelung dengan cekap melalui peta bersarang dan mengakses data yang terkandung di dalamnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulangi Peta Bersarang dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!