刘加加在成长(C++语言学习中)

学习、工作、生活,这是三个问题。

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  38 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。

每种容器类型都定义了自己的迭代器类型,如vector:
vector<int>::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector<int>定义的iterator类型。

使用迭代器读取vector中的每一个元素:
   vector<int> ivec(10,1);
   
    for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)
    {
        *iter=2;      //使用 * 访问迭代器所指向的元素
    }


const_iterator:
只能读取容器中的元素,而不能修改。
     for(vector<int>::const_iterator citer=ivec.begin();citer!=ivec.end();citer++)
    {
        cout<<*citer;
        //*citer=3;   error
    }

vector<int>::const_iterator 和 const vector<int>::iterator的区别
    const vector<int>::iterator newiter=ivec.begin();
    *newiter=11;   //可以修改指向容器的元素
    //newiter++;     //迭代器本身不能被修改

iterator的算术操作:
iterator除了进行++,--操作,可以将iter+n,iter-n赋给一个新的iteraor对象。还可以使用一个iterator减去另外一个iterator.
    const vector<int>::iterator newiter=ivec.begin();
    vector<int>::iterator newiter2=ivec.end();
    cout<<"\n"<<newiter2-newiter;
posted on 2008-06-06 22:32 刘加加 阅读(2086) 评论(3)  编辑 收藏 引用 所属分类: 学习C++语言

评论

# re: 迭代器 iterator 2008-06-07 14:41 氲哥儿
请问,为什么把iterator翻译成迭代器呢?  回复  更多评论
  

# re: 迭代器 iterator 2008-06-14 10:30 刘加加
不好意思,好久没来了。

我也不知道,书里是这么说的。可能它的作用就是将容器中的元素迭代,也就是循环吧。  回复  更多评论
  

# re: 迭代器 iterator 2010-02-18 15:38 cxxcomp
为什么把C++翻译成C++呢?  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理