Mengalih keluar Elemen secara berkesan daripada std::vector Sambil Mengulang
Dalam bidang pengaturcaraan C, pembangun sering menghadapi cabaran untuk memanipulasi std ::vektor semasa merentasi unsur-unsurnya. Walaupun iterator menyediakan mekanisme yang mudah untuk tugas ini, perangkap biasa timbul apabila cuba mengalih keluar elemen semasa lelaran.
Pertimbangkan senario di mana std::vector
Untuk mengatasi had ini, pembangun telah mencipta pendekatan yang lebih cekap. Kaedah erase(), apabila digunakan, bukan sahaja mengalih keluar elemen yang ditetapkan tetapi juga mengembalikan iterator baharu yang menunjuk ke elemen seterusnya. Tingkah laku unik ini membolehkan kesinambungan gelung yang lancar:
<code class="cpp">std::vector<std::string>::iterator iter; for (iter = m_vPaths.begin(); iter != m_vPaths.end(); ) { if (::DeleteFile(iter->c_str())) iter = m_vPaths.erase(iter); else ++iter; }</code>
Dalam coretan kod ini, gelung diteruskan seperti yang dimaksudkan, dengan iter dikemas kini secara automatik untuk menghala ke elemen sah seterusnya selepas setiap pemadaman. Kaedah cekap ini menghapuskan keperluan untuk vektor tambahan dan menyelaraskan proses mengalih keluar elemen semasa lelaran.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Elemen dengan Selamat daripada std::vector Semasa Memulas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!