一、迭代器是是什么?
迭代器是一种检查容器内元素并遍历元素的数据类型。
<1>每种容器类型都定义了自己的迭代器类型,如vector:
vector<int>:: iterator iter;定义了一个名为iter的变量,它的数据类型是由vector<int>定义的iterator类型。
使用迭代器(iterator)读取容器(vector)中的每一个元素:
vector<int> iter(3,2);//3个2
for(vector<int>::iterator iter=v.Begin();iter!=v.End();iter++)
{
*iter=2;//使用*来访问迭代器所指向的内容
}
<2>const_iterator
只能读取容器中的元素,不能写。
for(vector<int>::const_iterator citer=v.Begin();citer!=v.End();citer++)
{
cout<<*citer;
}
<3>const vector<int>::iterator和vector<int>::const_iterator的区别:
前者可以修改容器内的元素,后者不可以。因为迭代器本身不可以被修改。