C++---迭代器

在访问string对象字符或vector对象的元素时,除了使用下标运算符之外,还能使用迭代器(iterator)。

类似于指针类型,迭代器也提供了对对象的间接访问。迭代器的对象为容器中的元素或者string对象中的元素。可以对元素进行访问,也可以移动。

begin()和end()分别返回第一个元素位置和为元素下一个位置的迭代器。

注:若容器为空,则begin和end返回的都是尾后迭代器。

常用迭代器运算

*iter(返回迭代器所指元素的引用)                iter->mem                ++iter(iter指向容器中下一个元素)                --iter(iter指向容器中上一个元素) iter1 == iter2 iter1 != iter2

注:end返回的迭代器并不指向某一个元素,不能对其进行递增或解引用

迭代器类型:

vector<int>::iterator it; 读写vector<int>元素

string::iterator it2;读写string中的元素

vector<int>::const_iterator it3;只读

string::const_iterator it4;只读

若:vector或string对象是一个常量,只能用const_iterator;

        vector或string对象不是常量,iterator或const_iterator都可

解引用和成员访问操作:

解引用迭代器可以获得迭代器所指的对象   例如: 若it是一个vector对象的迭代器,(*it).empty()

同时,c++定义了箭头运算符(->),将解引用和成员访问结合在一起。

例如: it->mem     和       (*it).mem        相同

注意:使用了迭代器的循环体,不要向迭代器所属容器中添加元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值