迭代器介绍:
迭代器是一种检查容器内元素并遍历元素的数据类型。c++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只有少数容器(如vector)支持下标操作访问容器元素。

vector迭代器使用示例:

#include<iostream>
#include<vector>

using namespace std;

int main()
{
    vector<int> ivec(5,1);
    /*iteretor感觉就像一个指针
    指针类型根据每一个容器有所不同
    iter接受所有指针操作的方法
    采用begin,end的赋值方法,可以避免容器为空产生的问题
    */
    int i=1;
    for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++;){
        *iter=i++;
    }
    //常量迭代器,不能更改指向的值
    for(vector<int>::const_iterator iter=ivec.begin();iter!=ivec.end();iter++;){
        cout<<*iter<<endl;
    }
    cout<<ivec[2]<<endl;
    cout<<*(++iter1)<<endl;
    return 0;
}

注意:

  1. iterator类似于指针,因此使用的时候是按照*iterator的格式,而不能采用下标的形式
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐