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

Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Peta Bersarang dalam C ?

Linda Hamilton
Lepaskan: 2024-12-08 08:54:11
asal
457 orang telah melayarinya

How Can I Efficiently Iterate Through Nested Maps in C  ?

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;
  }
}
Salin selepas log masuk

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 &amp;[outer_key, inner_map] : mymap) {
  for (auto const &amp;[inner_key, inner_value] : inner_map) {
    std::cout << outer_key << " " << inner_key << " " << inner_value << std::endl;
  }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan