迭代器就是一个来回遍历的指针,这么想就方便理解了。

 

#include<iostream>
#include<vector>

using namespace std;

int main()
{
	vector<int> ivec(5,1);

	/* iterator 感觉就相当于一个指针 
	 * 指针类型根据每一个容器有所不同
	 * iter接受所有指针操作的方法
	 * 采用begin、end的赋值方法,可以避免容器为空产生的问题
	 */

	vector<int>::iterator iter1 = ivec.begin();
	int i = 1;
	for(vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); iter++)
	{
		*iter = i++;
	}
	// 常量迭代器,不能更改指向的值
	for(vector<int>::const_iterator iter = ivec.begin(); iter != ivec.end(); iter++)
	{
		cout<<*iter<<endl;
	}
	cout<<ivec[2]<<endl;
	cout<<*(++iter1)<<endl;
	return 0;
}

 

输出结果:

1
2
3
4
5
3
2


  本篇博客出自  阿修罗道,转载请注明出处:http://blog.csdn.net/fansongy/article/details/7284462

 

 


 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐