概念
迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址,所以可以认为迭代器其实就是用来指向容器中数据的指针,我们可以通过改变这个指针来遍历容器中的所有元素。
分类
按照定义可以分为四种
1.正向迭代器:容器类名::iterator 迭代器名
2.常量正向迭代器:容器类名::const_iterator 迭代器名
3.反向迭代器:容器类名::reverse_iterator 迭代器名
4.常量反向迭代器:容器类名::const_reverse_iterator 迭代器名
例:vector的迭代器
void myPrint(int val){
cout<<val<<" ";
}
int main()
{
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
vector<int>::iterator v_begin=v.begin();//起始迭代器
vector<int>::iterator v_end=v.end();//结束迭代器
for(;v_begin!=v_end;v_begin++){
cout<<*v_begin<<" ";
}
cout<<endl;
for(vector<int>::iterator it=v.begin();it!=v.end();it++){
cout<<*it<<" ";
}
cout<<endl;
//c++11新增内容,要使用algorithm头文件
for_each(v.begin(),v.end(),myPrint);
cout<<endl;
return 0;
}