迭代器是一种对象,用于对STL容器的元素进行迭代处理。
它指向容器内部的特定位置,并提供以下基本运算符:
运算符 作用 ++ 让迭代器指向至下一元素 ==、!= 判断两个迭代器是否指向同一位置并返回结果 = 将右侧的值带入左侧迭代器所引用元素的位置 * 返回该位置的元素迭代器的优势在于,对任何种类的容器都可以用同一种方法(语法)顺次访问其元素。
此外,在处理数组元素时,它还可以当做C/C++的指针来用,也就是说,可以把迭代器看成通过通用接口(函数等的使用方法)对容器进行迭代处理的指针。
不过,即便接口相同,其实现和行为也会因不同的容器而有所不同。
为使用迭代器,容器提供了一些同名的成员函数:
成员函数 功能 begin() 返回指向容器开头的迭代器 end() 返回指向容器末尾的迭代器,这里的末尾指最后一个元素的下一个位置#include #include using namespace std; void print(vector< int > v) { vector < int >::iterator it; for (it=v.begin();it!=v.end();it++) cout<<*it; cout<<endl; } int main() { int N=4; vector < int >v; for (int i = 0; i < N; i++) { int x; cin>>x; v.push_back(x); } print(v); vector < int >::iterator it = v.begin(); *it = 3; it++; (*it)++; print(v); return 0; }
输入: 2 0 1 4 输出: 2014 3114