- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Using STL
STL 概述
STL 一个重要特点是数据结构和算法 分离。尽管这是个简单的概念,但这种分离确实使得STL
变得非常通用。例如,由于STL sort() 函数是完全通用 ,你可以用它来操作几乎任何数据集合,包括
链表,容器和数组。
要点
STL 算法作为模板函数提供。为了和其他组件相区别,在本书中STL 算法以后接一对圆括弧 方式
表示,例如sort() 。
STL 另一个重要特性是它不是面向对象 。为了具有足够通用性,STL 主要依赖于模板而不是封装,
继承和虚函数 (多态性)——OOP 三个要素。你在STL 中找不到任何明显 类继承关系。这好像是一
种倒退,但这正好是使得STL 组件具有广泛通用性 底层特征。另外,由于STL 是基于模板,内联函
数 使用使得生成 代码短小高效。
【提示】确保在编译使用了STL 程序中至少要使用-O 优化来保证内联扩展。STL 提供了大量的模
板类和函数,可以在OOP 和常规编程中使用。所有 STL 大约50 个算法都是完全通用的,而且不依
赖于任何特定的数据类型。下面 小节说明了三个基本 STL 组件:
1)迭代器提供了访问容器中对象 方法。例如,可以使用一对迭代器指定list 或vector 中的一定范
围 对象。迭代器就如同一个指针。事实上,C++ 指针也是一种迭代器。但是,迭代器也
可以是那些定义了operator*() 以及其他类似于指针 操作符地方法 类对象。
2 )容器是一种数据结构,如list,vector,和deques ,以模板类 方法提供。为了访问容器中的数
据,可以使用由容器类输出 迭代器。
3 )算法是用来操作容器中 数据的模板函数。例如,STL 用sort()来对一个vector 中 数据进行排
序,用find()来搜索一个list 中 对象。函数本身与他们操作 数据 结构和类型无关,因
此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。
头文件
为了避免和其他头文件冲突, STL 头文件不再使用常规 .h 扩展。为了包含标准 string 类,迭
代器和算法,用下面 指示符:
#include string
#include iterator
#include algorithm
如果你查看STL 头文件,你可以看到象iterator.h 和stl_iterator.h 这样 头文件。由于这些名字在
各种STL 实现之间都可能不同,你应该避免使用这些名字来引用这些头文件。为了确保可移植性,使用
相应 没有.h 后缀 文件名。表1 列出了最常使用 各种容器类 头文件。
表 1. STL 头文件和容器类
#include Container Class
deque deque
list list
map map, multimap
queue queue, priority_queue
1
set set, multiset
stack stack
vector vector, vectorbool
[Jicrosoft CopyRight 2012] | [He
您可能关注的文档
最近下载
- 正常新生儿护理演示ppt课件.ppt
- 硬笔楷书教学课件.pptx VIP
- 天津市南开翔宇学校初一新生分班(摸底)数学模拟考试(含答案).pdf VIP
- 第1课 寻找信息科技(教学设计)-2024-2025学年人教版(2024)信息三年级全一册.docx VIP
- 南京电子地图超大版-超清晰-3600-x-5100分辨率.pdf VIP
- 冷轧带钢再结晶退火的感应加热.pdf VIP
- (高清版)B-T 18380.12-2022 电缆和光缆在火焰条件下的燃烧试验 第12部分:单根绝缘电线电缆火焰垂直蔓延试验 1kW预混合型火焰试验方法.pdf VIP
- 大学生竞选班长最新PPT课件.ppt VIP
- 云教版劳动与技术四年级上册2切菜.pptx VIP
- 育婴员(职工组)基础知识模块(模块一).docx VIP
文档评论(0)