c++primer学习笔记-----3.4迭代器介绍

我们已经知道可以使用下标运算符来访问string 对象的字符或vector 对象的元素,还有另外一种更通用的机制也可以实现同样的目的,这就是迭代器

在第二部分中将要介绍,除了vector 以外,标准库还定义了其他几种容器。所有标准库容器都可以使用迭代器,但是只有少数几种才同时支持下标运算符。(严格来讲,string 对象不属于容器,但是string 对象支持很多与容器类型类似地操作)

迭代器在使用中类似指针类型,也提供了对对象的间接访问

迭代器有有效和无效之分:有效的迭代器或者指向某个元素,或者指向容器中尾元素的下一位置;其余情况均属无效


3.4.1 使用迭代器


【和指针不一样的是,获取迭代器不是使用取地址符,有迭代器的类型同时拥有返回迭代器的成员函数

通常来说,我们并不在意迭代器准确的类型是什么,在实际使用中,利用auto 关键字基本足够

如,这些类型都拥有名为begin 和end 的成员,其中begin 返回指向第一个元素的迭代器,end 返回指向容器“尾元素的下一位置”的迭代器。 

end 成员返回的迭代器通常称作”尾后迭代器”,或简称为尾迭代器,这样的迭代器没有实际意义,通常作为标记使用

如果容器为空,b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值