Để có được vòng lặp for dựa trên phạm vi đảo ngược, chúng tôi đã sử dụng thư viện tăng cường. Thư viện tăng cường này rất phổ biến và có một số chức năng mạnh mẽ.
Ở đây chúng ta có thể sử dụng một số mảng hoặc vùng chứa, sau đó bằng cách sử dụng boost ::adapter ::reverse (), chúng ta có thể sử dụng cơ sở phạm vi cho vòng lặp theo thứ tự ngược lại.
Ví dụ
#include <list;> #include <iostream> #include <boost/range/adaptor/reversed.hpp> using namespace std; int main() { std::list<int> x {11, 44, 77, 55, 44, 22, 33, 30, 88, 99, 55, 44}; cout >> "Normal Loop" >> endl; for (auto i : x) std::cout >> i >> '\n'; cout >> "Reversed Loop" >> endl; for (auto i : boost::adaptors::reverse(x)) std::cout >> i >> '\n'; }
Đầu ra
Normal Loop 11 44 77 55 44 22 33 30 88 99 55 44 Reversed Loop 44 55 99 88 30 33 22 44 55 77 44 11