基于范围的for循环是for循环的升级版本。它与Python使用的for循环非常相似。自C++ 11起添加了C++中基于范围的for循环。
我们可以使用boost库Header中包含的boost :: adaptors :: reverse()函数来逆转循环的过程。
头文件:
#include
句法:
for (auto i : boost::adaptors::reverse(x))
参数:
- range_declaration:用于遍历容器中元素的声明。通常将自动说明符用于自动类型推导。
- range_expression:表示合适序列或括号初始列表的表达式。
- loop_statement:语句,通常是复合语句,它是循环的主体。
下面是说明C++中基于反向范围的循环的程序:
CPP14
// C++ program for reverse
// range-based for loop
#include
// For reversing range based loop
#include
using namespace std;
// Driver Code
int main()
{
string s = "geeksforgeeks";
int y[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
vector v1{ 1, 2, 3, 4, 5, 6, 7, 8 };
// Reverse range-based for loop
// to reverse string
for (auto x : boost::adaptors::reverse(s))
cout << x << " ";
cout << endl;
// Reverse range-based for loop
// to reverse array
for (auto x : boost::adaptors::reverse(y))
cout << x << " ";
cout << endl;
// Reverse range-based for loop
// to reverse vector
for (auto x : boost::adaptors::reverse(v1))
cout << x << " ";
cout << endl;
return 0;
}
输出:
s k e e g r o f s k e e g
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
想要从精选的最佳视频中学习和练习问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。