容器类用户

迭代器是可以遍历一个对象(遍历)容器类用户不必知道容器实现。有许多类(特别是列表和关联的类),迭代器的主要方式,这些类访问元素。

迭代器是最好的可视化作为一个指针到一个给定的元素在容器中,用一组重载操作符提供一套明确的功能:

运算符*迭代器解引用返回迭代器指向的元素是目前。

操作员+ +移动迭代器容器中的下一个元素。大多数的迭代器也提供操作员–移动到前一个元素。

运算符= =运算符!=基本比较运算符确定两个迭代器指向同一个元素。比较两个迭代器指向的价值观,尊重迭代器的第一,然后使用比较运算符。

运算符=分配到一个新的迭代器位置(通常是容器元素的开始或结束)。分配的迭代器指向的元素的值,然后使用第一个顺从的迭代器,assign操作。

每个容器包括使用运算符=四基本成员函数:

begin()返回表示容器中的元素的迭代器的开始。

end()返回表示元刚刚过去的元素的迭代器的结束。

cbegin()返回const iterator(只读)表示容器中的元素的开始。

cend()返回const迭代器表示的元素(只读)刚刚过去的元素的结束。

这似乎不可思议,end()并不指向最后一个元素在列表中,但这样做主要是为了使循环很简单:在元素上迭代可以继续直到达到end()迭代器,然后你知道你做的。

最后,所有的容器都提供(至少)两种类型的迭代器:

集装箱::迭代器提供读/写迭代器

集装箱::const_iterator提供只读的迭代器

让我们看一些例子,看看使用迭代器。

=2=3=橙色香蕉葡萄4 = 5 = 6 =芒果桃子,苹果

注意这里的迭代器,使它容易遍历每个容器中的元素。你不必在意如何地图存储其数据!

结论

迭代器提供简单的方法步骤,通过一个容器类的元素不必了解容器类的实现。当结合STL的算法和容器类的成员函数,迭代器变得更加强大。在下一课中,您会看到使用迭代器插入元素到一个列表的一个例子(不访问它的元素直接提供重载操作符[])。

有一点值得注意:迭代器必须对每一个类的基础上实现的,因为迭代器也必须了解类是如何实现的。因此迭代器都绑定到特定的容器类。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值