STL容器是同质的澳门新葡亰手机版

当前位置:澳门新葡亰官方网站 > 澳门新葡亰手机版 > STL容器是同质的澳门新葡亰手机版
作者: 澳门新葡亰官方网站|来源: http://www.fanlinking.net|栏目:澳门新葡亰手机版

文章关键词:澳门新葡亰官方网站,标准程序库

  迭代器(iterators)迭代器用于遍历对象集合的元素。这些集合可能是容器,也可能是容器的子集。

  迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组索引,也可以认为是一种迭代器。

  迭代器有各种不同的创建方法。程序可能把迭代器作为一个变量创建。一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器。作为指针,必须能够使用*操作符类获取数据。你还可以使用其他数学操作符如++。典型的,++操作符用来递增迭代器,以访问容器中的下一个对象。如果迭代器到达了容器中的最后一个元素的后面,则迭代器变成past-the-end值。使用一个past-the-end值得指针来访问对象是非法的,就好像使用NULL或为初始化的指针一样。

  Note: STL不保证可以从另一个迭代器来抵达一个迭代器。例如,当对一个集合中的对象排序时,如果你在不同的结构中指定了两个迭代器,第二个迭代器无法从第一个迭代器抵达,澳门新葡亰手机版此时程序注定要失败。这是STL灵活性的一个代价。STL不保证检测毫无道理的错误。

  对于STL数据结构和算法,你可以使用五种迭代器。下面简要说明了这五种类型:

  尽管各种不同的STL实现细节方面有所不同,还是可以将上面的迭代器想象为一种类继承关系。从这个意义上说,下面的迭代器继承自上面的迭代器。由于这种继承关系,你可以将一个Forward迭代器作为一个output或input迭代器使用。同样,如果一个算法要求是一个bidirectional 迭代器,那么只能使用该种类型和随机访问迭代器。

  本博客()贴出作 者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! Boost简介 是什么? Boost是一个功能强大、构造精巧、跨平台...

  数据结构利器之私房STL 此系列的文章适合初学有意剖析STL和欲复习STL的同学们。 学过c++的同学相信都有或多或少接触过STL。澳门新葡亰手机版STL不仅仅是c++中很好的编程工具(这个词可能有点歧义,用类库更恰...

  作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传播和普及STL的基础知识,若...

  STL(standard template library)提供了一组表示容器,迭代器,函数对象和算法的模板。容器是一个与数组类似的单元,可以存若干个值。 STL容器是同质的,即存储的值的类型相同;算法是完成特...

  00066 加一 题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个...

  硬件连接图 引脚图 WP:写保护位,澳门新葡亰手机版在这里不使用写保护 A0、A1、A2:3个地址位为整个7位地址的后三个地址,注意这里的前四位地址已经被固定成1010了即0xa,剩下的三位由这三位控制 按字节写入...

  Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享折倉俊則的单曲《if (piano arrange)》 《if (piano arrange)》- 折倉俊則 手机党少年们想听歌,请使劲儿戳(这里) @F...

  =====这个工作是 2019年3月6日的事情了,当时花了好几天功夫, 今天刚好有空, 晚上失眠,就写下blog吧===,另外受一个在大学做博导的朋友的委托, 帮他指导他的学生的毕业设计,最后还得了优...

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!