1 / 12
文档名称:

附录C_标准模板库(STL).pdf

格式:pdf   页数:12
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

附录C_标准模板库(STL).pdf

上传人:智客网 2011/12/27 文件大小:0 KB

下载得到文件列表

附录C_标准模板库(STL).pdf

文档介绍

文档介绍:附录标准模板库( )

标准模板库( , )是美国国家标准化组织和
国际标准化组织于年制定的标准,其最主要与最常用的两部分为容器类
( )以及算法库( )。

概述

首先回想一下第五章所介绍的自定义函数和标准库函数的系统实现方式与
方法以及用户程序中如何对这两种函数来进行使用:
)程序中可直接使用(调用)系统预定义的标准库函数(如, , 等),
但要求在调用前使用编译预处理指令将对应的头文件包含进来。
)用户自定义函数与系统预定义的标准库函数的不同点在于,自定义函数
的函数名、参数个数、函数返回值类型以及函数所完成的功能等都完全由用户程
序来规定(指定);而系统预定义的标准库函数则是一切都事先预定义好的,相
当于是一个软件组件。
与自定义函数和标准库函数两者的关系及其使用方式相类似, 不但允许
通过用户程序来自定义模板(第九章内容),而且还提供了标准模板库(把最常
用的一大批模板及其对它们进行处理的“算法”都定制为标准组件而包含在其
中),从而可节省用户的编程与调试时间,提高软件产品的使用安全性以及整体
效率。使用方式和方法基本上与函数相类似:
)程序中可直接使用(调用)系统预定义的标准模板库中的各模板类(如,
、等标准模板类),但要求在调用前使用编译预处理指令将
对应的头文件包含进来(如通过使用“”等)。
)用户自定义模板与标准库中系统预定义模板的不同点在于,自定义模板
的模板名、模板参数个数、模板所完成的功能以及其中的每一成员函数等都完全
由用户程序来规定(指定);而系统预定义的各模板则是一切都事先预定义好的,
相当于是一个软件组件。
本附录只对最常用的容器类以及算法库进行简单介绍,以使读者对标准模板
库的使用方法与技术有一个大致的了解,期望能起到抛砖引玉的作用,至于更细
致的部分,可参看系统提供的有关文档资料与使用说明。
容器类是一批相关的标准类模板的总称,其中所包含的最基本的个标准类
模板是:(向量)、(列表)、(双端队列)、(映像)、
(多重映像)、(集合),以及(多重集合)。另外,在这些容器类
上作一些扩充(或改造)后,系统又提供了如下另一些也经常使用的标准类模板:
(队列)、(栈)、(优先级队列)等(注:某些不同
的编译器可能还会提供更多的其他标准类模板)。
如同其名字,容器实质上就是用来装载物品的储存器。容器也正是用来
存放各种类型的具体对象的。上述所列容器(类模板)中,除了、、
和之外,其他的容器均为顺序容器,即是说,在其中存储的对象
均是有序的,用户可以在指定位置插入或存取对象;而与集合以及映像有关的那
个类模板则属于非顺序容器,它们并不具有顺序容器的特征。
372
算法库中则包括了各种基本算法,如,,,, 等。
通过使用算法,可对容器中的对象进行诸如查找、排序、拷贝、置换等各种不同
的操作。标准算法库中共提供了多达数十种的不同算法,而这些算法主要通
过一种称为迭代子( )也有称为游标的面向对象的泛型指针来操作(遍
历容器中的不同对象),以达到对各对象进行处理的目的。
下面通过两个实例来叙述对容器类以及对算法库的基本使用方法与技术。
(为一种容器类)的使用
#include <iostream> //不同于<>,见两个例子之后的说明
#include <vector> //由于要使用标准类模板 vector
using namespace std; //使用名字空间 std
void main(){
int a[10]; //int 型数组 a
for (int i=0; i<10; i++)
a[i]=i;
int* ip=a; //ip 为指针,指向 int 型数据
while (ip!=a+10)
cout<<*ip++<<" ";
cout<<endl;
vector<int> v(10); //使用实参类型 int 来实例化标准类模板 vector
//并说明类对象 v,且分配大小为 10 的空间
cout<<"="<<()<<endl; //显示出 v 的大小,size 为类成员函数
for (i=0; i<10; i++)
v[i]=i; //通过下标方式访问容器 v 的元素
vector<int>::iterator itr=(); //itr“指针”指向容器中的首元
while (itr!=()) //end 返回一指针,指向末元(之下一

最近更新

2025年辽宁科技学院马克思主义基本原理概论期.. 12页

2026年上海兴伟学院单招综合素质考试模拟测试.. 44页

2026年中医住培带教师资理论考核题库100道及完.. 39页

2026年主管中药师考试备考题100道及参考答案(.. 37页

2026年医学微生物学习题集及参考答案(综合题.. 40页

2026年武威职业学院单招职业技能考试题库附答.. 45页

小学历史与文化知识竞赛题库100道及参考答案(.. 37页

新安全生产法知识竞赛试题库及参考答案(培优.. 44页

最新煤气操作证考试题100道含答案(夺分金卷).. 39页

最新煤气操作证考试题100道附完整答案(夺冠).. 39页

田间“问诊”破困局 产业造血促振兴 6页

2025年卧式离子风机项目发展计划 71页

2025年光纤、光缆项目合作计划书 69页

跨境电商年度关键词 23页

2025年辽宁民族师范高等专科学校单招职业适应.. 44页

2025年重庆资源与环境保护职业学院单招职业技.. 45页

聚人气,网红变长红 32页

2026年c语言上机考试题库1套 13页

2026年C语言考试题库及答案(必刷) 13页

2026年内蒙古机电职业技术学院单招职业倾向性.. 44页

2026年司法考试题库100道及参考答案(达标题).. 49页

2026年山东旅游职业学院单招职业技能考试题库.. 45页

2025年重庆传媒职业学院单招职业倾向性考试题.. 43页

2026年四川文化传媒职业学院单招职业倾向性测.. 44页

2025蒙晟建设有限公司招聘紧缺专业人员8人备考.. 47页

2025金华永康市人民政府东城街道办事处编外人.. 48页

2026山西省面向河海大学选调优秀高校毕业生参.. 45页

2026年c语言期末考试题库及一套参考答案 13页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

六年级英语上册第一单元测试题-(含答案) 9页