Computer >> Máy Tính >  >> Lập trình >> C ++

Vòng lặp for dựa trên phạm vi đảo ngược C ++ 11

Để 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