zoukankan      html  css  js  c++  java
  • 迭代器

    类似于指针类型,迭代器也提供了对对象的间接访问。就迭代器而言,其对象是容器的元素或者 string 对象的字符。

    迭代器有有效和无效之分,有效的迭代器指向某个元素或者指向容器尾元素的下一个位置,其它情况都属于无效。

    使用迭代器

    有迭代器的类型同时拥有返回迭代器的成员:

    • begin 成员负责返回指向第一个元素的迭代器。
    • end 成员返回指向容器尾元素下一位置的迭代器。end 成员返回的迭代器称为尾后迭代器。

    迭代器运算符

    迭代器类型

    拥有迭代器的标准库类型使用 iteratorconst_iterator 来表示迭代器的类型。

    vector<int>::iterator it;	//it能读写vector<int>的元素
    string::iterator it2;	//it2能读写string对象中的元素
    
    vector<int>::const_iterator it3;	//it3只能读元素,不能写元素
    string::const_iterator it4;		//it4只能读元素,不能写元素
    

    begin 和 end 运算符

    beginend 返回的具体类型由对象是否是常量决定,如果对象是常量,beginend 返回const_iterator,如果对象不是常量,返回 iterator

    vector<int> v;
    const vector<int> cv;
    
    auto it1 = v.begin();	//it1的类型是vector<int>::iterator
    auto it2 = cv.begin();	//it1的类型是vector<int>::const_iterator
    

    为了便于专门得到 const_iterator 类型的返回值,C++11引入了两个新的函数:cbegincend

    vector<int> v;
    auto it = v.cbegin(); //it是vector<int>::const_iterator
    
    

    迭代器运算

  • 相关阅读:
    图像有用区域--------深搜和广搜的第一次二选一
    24Pointgame-----24点游戏
    CAP定理和BASE理论
    并查集
    七桥问题和一笔画
    组合数问题--------一种新的 搜索 思路
    最少换乘 之简化版
    吝啬的国度 ---用vector 来构图
    WGZX:javaScript 学习心得--1
    eclipse Maven -->web project
  • 原文地址:https://www.cnblogs.com/xiaojianliu/p/12498454.html
Copyright © 2011-2022 走看看