STL库--迭代器

23 篇文章 0 订阅

概念

迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址,所以可以认为迭代器其实就是用来指向容器中数据的指针,我们可以通过改变这个指针来遍历容器中的所有元素。

分类

按照定义可以分为四种

1.正向迭代器:容器类名::iterator 迭代器名

2.常量正向迭代器:容器类名::const_iterator 迭代器名

3.反向迭代器:容器类名::reverse_iterator 迭代器名

4.常量反向迭代器:容器类名::const_reverse_iterator 迭代器名

例:vector的迭代器

void myPrint(int val){

    cout<<val<<" ";

}



int main()

{

    vector<int> v;

    v.push_back(1);

    v.push_back(2);

    v.push_back(3);

    v.push_back(4);



    vector<int>::iterator v_begin=v.begin();//起始迭代器

    vector<int>::iterator v_end=v.end();//结束迭代器



    for(;v_begin!=v_end;v_begin++){

        cout<<*v_begin<<" ";

    }

    cout<<endl;



    for(vector<int>::iterator it=v.begin();it!=v.end();it++){

        cout<<*it<<" ";

    }

    cout<<endl;



    //c++11新增内容,要使用algorithm头文件

    for_each(v.begin(),v.end(),myPrint);

    cout<<endl;

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值