标准模板库stl介绍(打印)

标准模板库stl介绍(打印)

ID:14525049

大小:172.50 KB

页数:18页

时间:2018-07-29

标准模板库stl介绍(打印)_第1页
标准模板库stl介绍(打印)_第2页
标准模板库stl介绍(打印)_第3页
标准模板库stl介绍(打印)_第4页
标准模板库stl介绍(打印)_第5页
资源描述:

《标准模板库stl介绍(打印)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、标准模板库STL(StandardTemplateLibrary)指南目录1介绍21.1动机21.2STL历史21.3STL和ANSI/ISOC++草案标准21.4内容安排22C++基础22.1类22.2函数对象(FunctionObjects)32.3模板(Template)32.3.1函数模板32.3.2类模板42.3.3模板特化53STL概貌53.1STL网上信息63.2STL文档63.3编译STL程序64学习STL64.1容器(Container)64.1.1向量(Vector)74.2迭代器(Iterator)94.2.1输入和输出迭代器9

2、4.2.2向前迭代器104.2.3双向迭代器104.2.4任意存取迭代器114.3算法和函数对象114.3.1如何创建基本算法114.3.2STL算法134.4适应器(Adaptor)154.4.1容器适应器154.4.2迭代适应器154.4.3函数适应器164.5分配算符和内存处理165其余的STL部件165.2向量(Vector)165.3线性表(List)165.4双向队列(Deque)175.5迭代标签(IteratorTag)175.6关联容器(Container)17181介绍1.1动机在七十年代末,AlexanderStepanov第一

3、个发现一些算法不依赖于数据结构的特定实现,而仅仅和结构的一些基本语义属性相关。这些属性表达了一种能力,比如可以从数据结构的一个成员取得下一个成员,从头到尾“走过”结构中的元素〔就象排序算法不关心元素是存放在数组中或是线性表中)。Stepanov研究过一些算法可以用一种抽象的方式实现,而且不会影响效率。1.2STL历史1985年,Stepanov开发了基本Ada库,有人要求他在C++中也这样做。但直到1987年,模板(Template)在C++中还未实现,所以他的工作推迟了。1988年,Stepanov到HP实验室工作,并在1992年被任命为一个算法项

4、目的经理。在此项目中,AlexanderStepanov和MengLee写了一个巨大的库---标准模板库(STL:StandardTemplateLibrary),意图定义一些通用算法而不影响效率。现在STL在国外已经成了新的编程手段。1.3STL和ANSI/ISOC++草案标准1994年7月14日,ANSI/ISOC++标准化委员会将STL采纳为草案标准。现在MicrosoftVisualC++5.0以上及BorlandC++4.0以上都支持STL。STL已经并将继续影响软件开发的方法,有了STL,程序员可以写更少且更快的代码,把精力集中在问题解决

5、上,而不必关心低层的算法和数据结构了。1.4内容安排第2部分介绍STL需要的C++基础,主要是类、函数对象和模板。第3部分是概貌,介绍了关键的思想。第4部分step-by-step的教STL。第5部分介绍剩余的STL部分。第6部分是版权信息。第7部分是参考文献。2C++基础2.1类请读下面一段代码:classshape{private:intx_pos;inty_pos;intcolor;public:shape():x_pos(0),y_pos(0),color(1){}shape(intx,inty,intc=1):x_pos(x),y_pos(

6、y),color(c){}shape(constshape&s):x_pos(s.x_pos),y_pos(s.y_pos),color(s.color){}~shape(){}shape&operator=(constshape&s){x_pos=s.x_pos;y_pos=s.y_pos;color=s.color;return*this;}intget_x_pos(){returnx_pos;}intget_y_pos(){returny_pos;}intget_color(){returncolor;}18voidset_x_pos(intx

7、){x_pos=x;}voidset_y_pos(inty){y_pos=y;}voidset_color(intc){color=c;}virtualvoidDrawShape(){}friendostream&operator<<(ostream&os,constshape&s);};ostream&operator<<(ostream&os,constshape&s){os<<“shape:(“<

8、:·缺省构造函数(defaultconstructor)、拷贝构造函数(copyconstructor)、析

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。