迭代器的简介
迭代器(iterator),是一种检查容器内元素并遍历元素的数据类型
标准库为每一种标准容器定义了一种迭代器类型
vector<int>::iterator iter;
每种容器都定义了一对命名为begin和end的函数,用于返回迭代器
vector<int>::iterator iter = ivec.begin();
如果容器有元素的话,begin()返回的迭代器指向第一个元素,end()返回的迭代器指向末端元素的下一个
如果vector 为空,begin()和end()返回的迭代器相同
解引用来访问迭代器指向的元素 *iter = 0;
自增,向前移动一个位置
迭代器实现所有元素置为0
for(vector<int>::iterator iter = ivec.begin(); iter !=ivec.end(); ++iter)
*iter = 0;
const_iterator,每个容器都定义了const_iterator的类型,我们对const_iterator解引用的时,可以得到一个指向const对象的引用,该对象不能重写
for(vector<int>::const_iterator iter = ivec.begin(); iter !=ivec.end(); ++iter)
cout << *iter << endl; //ok
*iter = 0; //error, *iter is const