美文网首页
自用:C++ STL学习-迭代器

自用:C++ STL学习-迭代器

作者: 烤肉拌饭多加饭 | 来源:发表于2018-04-13 10:34 被阅读0次

    概念

    迭代器 (Iterator) 概念描述可以用来标识和遍历一个容器元素的类型。

    代码

    
    vector a = { 1,2,3,4,5 };
    
    vector::iterator start = a.begin();
    
    vector::iterator end = a.end();
    
    vector::iterator it;
    
    for (it = start; it != end; it++) {
    
    cout << *it << endl;
    
    }
    
    

    输出 1 2 3 4 5

    如何理解

    看起来 it 和指针的形式差不多
    实际上,
    it 不只是迭代器指向的项的值,也是该项本身(即可以通过迭代器修改值)

    for (it = start; it != end; it++) {
            *it = 233;
            cout << *it << endl;
        }
    

    输出 233 233 233 233 233

    const_iterator

    const_iterator 的*it 不能出现在赋值语句的左边

    其他

    在STL定义的容器中,string,vector与deque提供了随机访问迭代器,list、set、multiset、map、multimap提供了双向迭代器。

    相关文章

      网友评论

          本文标题:自用:C++ STL学习-迭代器

          本文链接:https://www.haomeiwen.com/subject/goxckftx.html