Reverse(逆向)迭代器
Reverse迭代器是一种配接器,重新定义递增递减运算,使其行为正好倒置,这样使迭代器以逆向来处理元素。
rbegin:传回逆向遍历的第一个元素,也就是实际上最后一个元素的位置;
rend:传回逆向遍历时最后一个元素的下一个位置,也就是实际上第一个元素的前一个位置;
代码示例:
#include<iostream>
#include<list>
#include<vector>
#include<algorithm>
using namespace std;
void print(int elem)
{
cout<<elem<<" ";
}
int main()
{
list<int> coll;
for(int i=1;i<=9;i++)
{
coll.push_back(i);
}
list<int>::iterator pos1=coll.begin();
list<int>::iterator pos2=coll.end();
for_each(coll.begin(),coll.end(),print);
cout<<endl;
for_each(coll.rbegin(),coll.rend(),print);
cout<<endl;
list<int>::reverse_iterator rpos1(pos1);//将一个迭代器转换为逆向迭代器,原来那个迭代器必须具有双向移动能力
list<int>::reverse_iterator rpos2(pos2);
for_each(rpos2,rpos1,print);
cout<<endl;
system("pause");
return 0;
}
运行结果:
1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询