Rumah > pembangunan bahagian belakang > C++ > Bolehkah C 11 Berasaskan Julat Untuk Gelung Berulang Secara Songsang?

Bolehkah C 11 Berasaskan Julat Untuk Gelung Berulang Secara Songsang?

DDD
Lepaskan: 2024-12-12 22:02:17
asal
605 orang telah melayarinya

Can C  11 Range-Based For Loops Iterate in Reverse?

Lelaran Berasaskan Julat Songsang dengan C 11

Soalan:

Adakah ada cara untuk membalikkan arah iterator bagi gelung untuk berasaskan julat? Pada masa ini, menukar gelung standard dengan iterator eksplisit menggunakan rbegin() dan rend() adalah mungkin, tetapi adalah berfaedah untuk mempunyai sintaks analog untuk versi berasaskan julat.

Jawapan:

Daripada mencipta penyesuai tersuai, Boost menawarkan penyelesaian yang mudah dengan boost::adaptors::reverse. Penyesuai ini menterbalikkan susunan elemen semasa melelaran.

Contoh Penggunaan:

#include <list>
#include <iostream>
#include <boost/range/adaptor/reversed.hpp>

int main()
{
    std::list<int> x { 2, 3, 5, 7, 11, 13, 17, 19 };
    for (auto i : boost::adaptors::reverse(x))
        std::cout << i << '\n';
    for (auto i : x)
        std::cout << i << '\n';
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah C 11 Berasaskan Julat Untuk Gelung Berulang Secara Songsang?. 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