Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Mengulang Melalui Peta Bersarang dalam C?

Bagaimanakah Saya Mengulang Melalui Peta Bersarang dalam C?

Linda Hamilton
Linda Hamiltonasal
2024-12-09 03:15:16285semak imbas

How Do I Iterate Through a Nested Map in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn