Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Nilai dengan Cekap dalam Peta C Bersarang Menggunakan Iterator?
Mengakses Nilai dalam Peta C Berbilang Lapisan Menggunakan Lelaran
Menyalurkan melalui peta C peta, di mana peta dalam mengandungi kunci- pasangan nilai, boleh dicapai dengan cekap menggunakan iterator. Begini cara anda boleh melakukannya:
Isytihar peta seperti berikut:
std::map<std::string, std::map<std::string, std::string>> m;
Untuk lelaran melalui peta luar, gunakan yang berikut sintaks:
for (auto& outer_entry : m) { std::string outer_key = outer_entry.first; std::map<std::string, std::string>& inner_map = outer_entry.second; // Iterate through the inner map using a nested loop for (auto& inner_entry : inner_map) { std::string inner_key = inner_entry.first; std::string inner_value = inner_entry.second; // Access the inner values here } }
Contoh:
m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2"; for (auto& outer_entry : m) { std::cout << "Outer Key: " << outer_entry.first << std::endl; for (auto& inner_entry : outer_entry.second) { std::cout << "Inner Key: " << inner_entry.first << " - Value: " << inner_entry.second << std::endl; } std::cout << std::endl; }
Output:
Outer Key: name1 Inner Key: value1 - Value: data1 Inner Key: value2 - Value: data2 Outer Key: name2 Inner Key: value1 - Value: data1 Inner Key: value2 - Value: data2 Outer Key: name3 Inner Key: value1 - Value: data1 Inner Key: value2 - Value: data2
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Nilai dengan Cekap dalam Peta C Bersarang Menggunakan Iterator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!