迭代器的简介

迭代器(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    

 

 

 

 

posted on 2013-02-16 14:38  小风儿_xf  阅读(136)  评论(0编辑  收藏  举报

导航