Di Sebalik Tabir Gelung Berasaskan Julat C 11
Gelung berasaskan julat menawarkan sintaks ringkas untuk mengulang elemen koleksi, tetapi kerja dalaman mereka mungkin tidak dapat dilihat dengan serta-merta.
Permulaan Pembolehubah
Walaupun nampaknya pembolehubah gelung (dalam kes ini, x) dimulakan sekali sahaja, realitinya berbeza. Dalam gelung berasaskan julat seperti:
<code class="cpp">for (const int x : vec) { cout << x << endl; }</code>
Pengkompil mencipta pembolehubah tempatan baharu x untuk setiap lelaran. Ia memulakan x kepada nilai elemen seterusnya dalam vektor vec.
Pembolehubah Konst
Walaupun diisytiharkan sebagai const, pembolehubah x boleh kelihatan berubah dalam setiap lelaran kerana ia bukan pembolehubah yang sama. Setiap x yang baru dibuat diberikan kepada elemen vec seterusnya, memberikan ilusi bahawa pembolehubah yang sama sedang diubah suai.
Butiran Pelaksanaan
Gelung berasaskan julat dilaksanakan menggunakan iterator, iaitu objek yang menyediakan akses kepada elemen koleksi. Dalam kod di atas, vec mempunyai iterator yang dikembalikan oleh fungsi begin() dan end(). Peulang digunakan untuk melangkah melalui elemen, dan x diberikan kepada nilai yang ditunjuk oleh peulang.
Nota Tambahan
Atas ialah kandungan terperinci Bagaimanakah Gelung Berasaskan Julat C 11 Berfungsi Di Bawah Tudung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!