Rumah > pembangunan bahagian belakang > C++ > Bolehkah Anda Mengeluarkan Elemen daripada Vektor C Semasa Menggunakan Rangkaian Untuk Gelung?

Bolehkah Anda Mengeluarkan Elemen daripada Vektor C Semasa Menggunakan Rangkaian Untuk Gelung?

Linda Hamilton
Lepaskan: 2024-11-28 17:41:14
asal
952 orang telah melayarinya

Can You Remove Elements from a C   Vector While Using a Range-Based For Loop?

Mengulang dan Mengubah Suai Vektor dengan Gelung Julat C 11

Apabila menggelung melalui vektor menggunakan berasaskan julat C 11 untuk, soalan biasa timbul : bolehkah anda mengalih keluar item semasa dalam gelung?

Penghadan Untuk Gelung berasaskan julat

Jawapannya adalah tidak, kerana berdasarkan julat untuk gelung direka untuk mengakses setiap elemen bekas sekali. Jika anda perlu mengubah suai bekas, mengalih keluar elemen atau melakukan lelaran bukan linear, anda harus menggunakan gelung tradisional untuk sebaliknya.

Mengubah Suai Vektor dengan Gelung Tradisional

Untuk mengalih keluar item daripada vektor semasa lelaran, anda boleh menggunakan tradisional untuk gelung:

for (auto it = inv.begin(); it != inv.end(); ++it) {
    // Do some stuff
    if (blah) {
        it = inv.erase(it);
        --it;  // Decrement iterator to avoid skipping an element
    }
}
Salin selepas log masuk

Kelebihan Gelung Tradisional

Gelung tradisional menawarkan lebih fleksibiliti daripada gelung berasaskan julat:

  • Anda boleh akses elemen beberapa kali.
  • Anda boleh mengubah suai bekas dengan menambah atau mengalih keluar elemen.
  • Anda boleh melelakan melalui bekas dengan cara tidak linear, seperti melangkau atau meninjau semula elemen.

Atas ialah kandungan terperinci Bolehkah Anda Mengeluarkan Elemen daripada Vektor C Semasa Menggunakan Rangkaian Untuk Gelung?. 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