迭代器
容器的iterator类型
vector<T>::iterator iter;
迭代器是一种检查容器内元素并遍历元素的数据类型。
begin和end操作
vector<T> vec;
vector<T>::iterator iter = vec.begin(); //若vec不为空,则iter指向ivec[0] //末端元素的下一个,指向不存在的元素。
vec.end();
迭代器程序示例
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec(10);
int i = 0;
/*for(vector<int>::size_type ix = 0; ix != 10;ix++)
{
ivec.push_back(ix);
}*/
for(vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); iter++)
{
*iter = 0;
}
vector<int>::iterator iter = ivec.begin();
cout<<ivec.size()<<endl;
for(iter; iter != ivec.end(); iter++)
{
cout<<*iter<<endl;
}
return 0;
}
const_iterator类型
const_iterator与iterator的用法一致,但是const_iterator只能读取容器的元素,不能改变。