标准模板库STL.ppt

标准模板库STL.ppt

ID:49377144

大小:287.00 KB

页数:128页

时间:2020-02-05

标准模板库STL.ppt_第1页
标准模板库STL.ppt_第2页
标准模板库STL.ppt_第3页
标准模板库STL.ppt_第4页
标准模板库STL.ppt_第5页
资源描述:

《标准模板库STL.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第12章标准模板库STL标准模板库(StandardTemplateLibrary,简称STL)是ANSI/ISOC++最有特色、最实用的部分之一。标准模板库STL主要包括:容器(Containers)算法(Algorithms)迭代器(Iterators)函数对象(FunctionObjects)适配器(Adaptors)内存配置器(Allocators)标准模板库STL主要由6大组件组成:(1)容器(Containers)。包括各种基本数据结构的类模板。STL容器部分主要由头文件

2、>、组成。(2)算法(Algorithms)。包括各种基本算法,如比较、交换、查找、排序、遍历操作、复制、修改、移除、反转、合并等等。STL算法部分主要由头文件组成。12.1标准模板库STL概述(3)迭代器(Iterators)。迭代器是面向对象版本的指针,如同指针可以指向内存中的一个地址,迭代器可以指向容器中的一个位置。STL的每一个容器类模板中,都定义了一组对应的迭代器类,用以存取容器中的元素。这样,在STL中迭代器就将算法和容器联系起来了,通过迭代器

3、,算法函数可以访问容器中指定位置的元素,而无需关心元素的具体类型。STL迭代器部分主要由头文件组成。(4)函数对象(FunctionObjects)。一种行为类似于函数的class,实现技术上是一个改写了“calloperator()”的class。STL提供15个预定义的Functionobjects。头文件中定义了一些类模板,用以声明函数对象。(5)适配器(Adaptors)。简单地说就是一种接口类,专门用来修改现有类的接口,提供一种新的接口;或调用现有的函数来实现所需要

4、的功能。主要包括3种适配器ContainerAdaptors、IteratorAdaptors与FunctionAdaptors。其中迭代器适配器的定义在头文件中,函数适配器的定义在头文件中。(6)内存配置器(Allocators)。为STL提供空间配置的系统。头文件中的主要部分是模板类allocator,它负责产生所有容器中的默认分配器。容器使用allocator完成对内存的操作,allocator提供内存原语以对内存进行统一的存取。STL六大组件的交互关系容器通过内存配置器取

5、得数据存储空间,算法通过迭代器存取容器的内容,函数对象用在和算法的结合中,协助算法完成不同的策略变化,从而扩展算法的效用。适配器可以对容器和迭代器的接口进行转换、修饰或套接函数对象。例12-1一个简单的STL应用示例#include#include#include#includeusingnamespacestd;intmain(){intia[]={34,18,23,89,40,15,56,14,41,24};vector

6、t>>vec(ia,ia+10);//将vec声明为元素为int类型的向量容器vector::iteratorit;//将it声明为int类型的向量容器的迭代器。intnum;sort(vec.begin(),vec.end());for(it=vec.begin();it!=vec.end();it++)cout<<*it<<"";//14151823243440415689cout<

7、_equal(),40));cout<<"小于等于40的数有"<

8、多种数据类型上进行操作,在泛型化程序设计思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的方式处理各种不同情形。算法是泛型的,不与任何特定的数据结构或对象类型系

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

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

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