迭代器

容器的iterator类型

vector<T>::iterator iter;

迭代器是一种检查容器内元素并遍历元素的数据类型。

begin和end操作

vector<T> vec;
vector<T>::iterator iter = vec.begin();     //若vec不为空,则iter指向ivec[0]                        //末端元素的下一个,指向不存在的元素。
vec.end();              

迭代器程序示例

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int> ivec(10);
  int i = 0;
  /*for(vector<int>::size_type ix = 0; ix != 10;ix++)
  {
    ivec.push_back(ix);
    }*/
  for(vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); iter++)
  {
    *iter = 0;
  }
  vector<int>::iterator iter = ivec.begin();
  cout<<ivec.size()<<endl;
  for(iter; iter != ivec.end(); iter++)
  {
    cout<<*iter<<endl;
  }
  return 0;
}

const_iterator类型

const_iterator与iterator的用法一致,但是const_iterator只能读取容器的元素,不能改变。

posted @ 2015-09-12 23:15  mlhy  阅读(137)  评论(0编辑  收藏  举报