迭代器

c++专门为一些容器vector以及string等设置了一种很好用的访问方法,就是迭代器。


迭代器是一种类似指针的操作,迭代器支持从一个位置转换到另一个位置,以及对于对象的间接访问。


使用迭代器


用begin以及end方法就可以得到一个容器的迭代器,比如对于string类型的话,string::iterator p = str.begin()就可以得到一个strng对象的指向头部的迭代器,begin指向的是容器头部的,而en返回的是指向容器的最后一个的下一个的,这一点要注意。如果迭代器是空的话,那么end以及begin返回的就都是同一个迭代器。


迭代器就像指针一样,支持指针的所有操作,*p就代表p迭代器指向的元素,迭代器可以执行比较以及自加自减操作。


遍历一个容器的方法就是(以string容器为例)


string::itrator p = str.begin();
string::itrator pe = str.end();
while(p!=pe)
{
cout<<*p;
p++;
}
如果不希望遍历的时候改变容器的值的话,那么就用const关键字声明迭代器。可以是string::const_iterator或者是string::const itrator两种类型。另外也可以用cbegin或者cend函数返回常量的迭代器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值