Mengulang Peta Berbilang dalam C
Menavigasi melalui berbilang peringkat peta bersarang dalam C boleh menjadi tugas yang sukar. Panduan ini menyediakan penyelesaian menyeluruh untuk menggelungkan melalui bekas peta, yang dikenali sebagai peta peta.
Pendekatan menggunakan gelung berasaskan julat yang berkuasa, yang diperkenalkan dalam C 11. Mari kita mendalami kod:
std::map<std::string, std::map<std::string, std::string>> mymap; for (auto const &ent1 : mymap) { for (auto const &ent2 : ent1.second) { std::cout << ent1.first << " " << ent2.first << " " << ent2.second << std::endl; } }
Dalam gelung luar, ent1 memegang pasangan nilai kunci dengan ent1.first mewakili kunci peringkat pertama. Gelung dalaman berulang melalui nilai ent1.second, iaitu peta lain dan ent2 menyediakan akses kepada kunci dan nilai peta peringkat kedua.
Jika anda lebih suka menggunakan takrifan eksplisit pembolehubah rujukan, anda boleh memperkenalkan pembolehubah sementara seperti outer_key, inner_key dan inner_value untuk menjelaskan tujuan setiap pembolehubah.
C 17 memperkenalkan berstruktur pengikatan, menawarkan sintaks ringkas untuk mengakses elemen bersarang. Coretan kod berikut menunjukkan ciri ini:
for (auto const &[outer_key, inner_map] : mymap) { for (auto const &[inner_key, inner_value] : inner_map) { std::cout << outer_key << " " << inner_key << " " << inner_value << std::endl; } }
Dalam contoh ini, kunci dan nilai luar, bersama-sama dengan kunci dan nilai dalam, boleh diakses secara langsung dalam badan gelung.
Oleh menggunakan teknik ini, anda boleh dengan mudah melelar melalui pelbagai peringkat peta bersarang dalam C . Selamat mengekod!
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Peta Bersarang dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!