Rumah >pembangunan bahagian belakang >C++ >Apakah Jenis Nilai Pembolehubah dalam Range-Based for() Gelung dengan std::map?
Berasaskan Julat untuk() Gelung dengan std::map: Membedah Jenis Nilai
Apabila menggunakan gelung berasaskan julat untuk() dengan std::map, pemahaman jenis nilai pembolehubah menjadi penting. Dalam C 11 dan ke atas, gelung berasaskan julat menyediakan akses terus kepada elemen individu dalam bekas. Walau bagaimanapun, apabila berurusan dengan peta, jenis pembolehubah dalam gelung tersebut mungkin memerlukan penjelasan lanjut.
Dalam std::map, setiap elemen diwakili oleh std::pair
C 17 dan Lebih Tinggi
Dalam C 17 dan lebih tinggi, berdasarkan julat dipertingkat untuk() gelung membolehkan ringkas dan lelaran elegan ke atas std::map. Di sini, pembolehubah diisytiharkan sebagai tuple yang mengandungi kunci dan nilai:
<code class="cpp">for (auto& [key, value]: myMap) { // Access key and value directly }</code>
C 11 dan C 14
Dalam C 11 dan C 14, dipertingkatkan untuk gelung boleh digunakan, tetapi kunci dan nilai perlu diekstrak secara manual daripada setiap std::pair:
<code class="cpp">for (const auto& kv : myMap) { // Extract key and value manually: auto key = kv.first; auto value = kv.second; }</code>
Memahami Jenis Nilai
Pengambilan kunci ialah jenis nilai dalam gelung berasaskan julat for() dengan std::map ialah std::pair
Atas ialah kandungan terperinci Apakah Jenis Nilai Pembolehubah dalam Range-Based for() Gelung dengan std::map?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!