迭代器和容器

C++中有个容器类。何为容器类,在现实生活中,容器,可以装载其他事物。同理,在C++中,容器是指持有其他对象的对象(禁止套娃)。说白了,容器就是存储对象的储存柜。对象,小的方面可以理解为一个变量,大的方面可以理解为一个类。而迭代器的作用是对元素进行灵活的访问,它的工作就是在容器中挑选元素并将其呈献给迭代器的使用者。作为一个类。(迭代器居然是个类,有意思。)迭代器提供了一层抽象。这样就将容器内部细节和遍历方式分割开来。(这么喜欢抽象)就是说,使用迭代器的时候,不需要管你使用了哪种容器,只管去遍历就行了。换句话说,迭代器的代码是通用的?有意思。
 
容器分类
| 序列容器| vector(动态数组),list(链表),deque(双端队列)|
|容器适配器|queue(队列),stack()栈,priority_queue(优先队列)|
| 关联式容器 | set,map,multiset,multimap |

迭代器种类
1.输入迭代器:只读,一次传递。
2.输出迭代器:只写,一次传递。
3.前向迭代器:多次读/写。
4.双向迭代器。
5.随机访问迭代器。

迭代器的定义:
::iterator
::const_iterator

示例:
vector::iterator it
注意:它定义的是一个类型,而非值。

每一个容器都有一个起始成员函数begin()以产生指向容器中起始元素的迭代器,和一个末尾成员函数end()用以产生容器的超越末尾的标记迭代器。如果容器是一个const(常)容器,则begin()和end()产生const(常)迭代器,即不允许更换这些迭代器所指向的元素。实话说,const这个关键字很讨厌。有机会聊聊。

迭代器最新的定义方式:
for(const string &s : strs)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值