Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menterbalikkan Lelaran Dengan Mudah Melalui Bekas Menggunakan C 11 Berasaskan Julat Untuk Gelung?

Bagaimanakah Saya Boleh Menterbalikkan Lelaran Dengan Mudah Melalui Bekas Menggunakan C 11 Berasaskan Julat Untuk Gelung?

DDD
Lepaskan: 2024-12-02 15:58:10
asal
985 orang telah melayarinya

How Can I Easily Reverse Iterate Through a Container Using C  11 Range-Based For-Loops?

Untuk Gelung Berasaskan Julat Terbalik C 11

Menyalakan pada bekas dalam susunan terbalik dengan gelung berasaskan julat memerlukan pembalikan arah iterator. Walaupun iterator eksplisit menyediakan penyelesaian yang mudah, adakah terdapat penyesuai kontena mudah yang menawarkan kefungsian ini?

Penyesuai Leulang Terbalik

Nasib baik, perpustakaan Boost menyertakan penyelesaian: boost ::penyesuai::terbalik. Penyesuai ini membalikkan susunan lelaran bekas, membolehkan gelung berasaskan julat untuk lelaran secara terbalik.

Contoh Penggunaan

Pertimbangkan bekas integer:

std::list<int> x { 2, 3, 5, 7, 11, 13, 17, 19 };
Salin selepas log masuk

Untuk mengulangi bekas ini secara terbalik menggunakan gelung untuk berasaskan julat, gunakan penyesuai terbalik:

for (auto i : boost::adaptors::reverse(x))
    std::cout << i << '\n';
Salin selepas log masuk

Ini akan mencetak elemen senarai dalam susunan terbalik.

Perbandingan dengan Lelaran Asal

Sebagai perbandingan, di sini ialah susunan lelaran asal tanpa penyesuai terbalik:

for (auto i : x)
    std::cout << i << '\n';
Salin selepas log masuk

Ini akan mencetak elemen senarai dalam asalnya pesanan.

Kesimpulan

Penyesuai terbalik Boost menyediakan cara yang mudah untuk lelaran pada bekas dalam susunan terbalik menggunakan gelung berasaskan julat. Ini memudahkan kod dan membolehkan lelaran terbalik yang lebih ringkas dan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menterbalikkan Lelaran Dengan Mudah Melalui Bekas Menggunakan C 11 Berasaskan Julat 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan