首页 > STL编程 > STL reverse_iterator和iterator之间的转换

STL reverse_iterator和iterator之间的转换

迭代器(iterator)转逆向迭代器(reverse_iterator),只需要把迭代器转入逆向迭代器的构造函数即可;逆向迭代器转迭代器,调用逆向迭代器的base成员函数即可。

这是关于逆向迭代器的最后一篇介绍。前面已经发布两篇了,分别是:

http://www.programlife.net/stl-reverse-iterator.html

http://www.programlife.net/stl-reverse-iterator-2.html

SGI的逆向迭代器的介绍如下:http://www.sgi.com/tech/stl/ReverseIterator.html

最后一个示例代码:

#include <iostream>
#include <list>
#include <iterator>
#include <algorithm>
using namespace std;

int main()
{
	list<int> coll;
	
	for(int i = 1; i <= 9; ++i)
	{
		coll.push_back(i);
	}

	list<int>::iterator pos;
	pos = find(coll.begin(), coll.end(), 5);
	
	cout << "pos: " << *pos << endl;
	
	list<int>::reverse_iterator rpos(pos);
	cout << "rpos: " << *rpos << endl;
	
	list<int>::iterator rrpos;
	rrpos = rpos.base();
	
	cout << "rrpos: " << *rrpos << endl;
	
	return 0;
}

觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> STL reverse_iterator和iterator之间的转换
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.