- 2
- 0
- 约 79页
- 2017-06-07 发布于湖北
- 举报
11.2.1泛型程序设计 将程序写得尽可能通用 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 STL是泛型程序设计的一个范例 容器(container) 迭代器(iterator) 算法(algorithms) 函数对象(function object) 命名空间(Namespace) 一个命名空间将不同的标识符集合在一个命名作用域(named scope)内 为了解决命名冲突 例如,声明一个命名空间NS: namspace NS { class File; void Fun (); } 则引用标识符的方式如下, NS:: File obj; NS:: Fun (); 没有声明命名空间的标识符都处于无名的命名空间中 命名空间(Namespace) 可以用using来指定命名空间 例如,经过以下声明:using NS::File;在当前作用域中就可以直接引用File using namespace std;命名空间std中所有标识符都可直接引用 在新的C++标准程序库中,所有标识符都声明在命名空间std中,头文件都不使用扩展名 容器 容器类是容纳、包含一组元素或元素集合的对象。 异类容器类与同类容器类 顺序容器与关联容器 七种基本容器: 向量(vector)、双端队列(deque)、列表(list)、集合(set)、多重集合(multiset)、映射(map)和多重映射(multimap) 容器的接口 通用容器运算符 ==,!=,,=,,=,= 方法(函数) 迭代方法 begin(),end(),rbegin(),rend() 访问方法 size(),max_size(),swap(),empty() 适配器 适配器是一种接口类 为已有的类提供新的接口。 目的是简化、约束、使之安全、隐藏或者改变被修改类提供的服务集合。 三种类型的适配器: 容器适配器 用来扩展7种基本容器,它们和顺序容器相结合构成栈、队列和优先队列容器 迭代器适配器 函数对象适配器。 迭代器 迭代器是面向对象版本的指针,它们提供了访问容器、序列中每个元素的方法。 算法 C++标准模板库中包括70多个算法 其中包括查找算法,排序算法,消除算法,记数算法,比较算法,变换算法,置换算法和容器管理等等。 这些算法的一个最重要的特性就是它们的统一性,并且可以广泛用于不同的对象和内置的数据类型。 函数对象 一个行为类似函数的对象,它可以不需参数,也可以带有若干参数,其功能是获取一个值,或者改变操作的状态。 任何普通的函数和任何重载了调用运算符operator()的类的对象都满足函数对象的特征 STL中也定义了一些标准的函数对象,如果以功能划分,可以分为算术运算、关系运算、逻辑运算三大类。为了调用这些标准函数对象,需要包含头文件functional。 1 2 3 4 5 6 7 8 9 10 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 B C D E F G H I J K I Like C++! 1 2 3 4 5 6 7 8 9 10 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 B C D E F G H I J K I Like C++! Point(1,1) Point(2,2) Point(3,3) Point(4,4) Point(5,5) Point(6,6) Point(7,7) Point(8,8) Point(9,9) Point(10,10) The sum of nMyVector1[i] is: 55 The multiplies of dblMyVector[i] is: 0The Element will be pop is: K The Element will be pop is: J The Element will be pop is: I The Element will be pop is: H The Element will be pop is: G B C D E F 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 (续) 链表类中比较重要的成员函数与向量基本相同,但注意链表类不包含[] 运算符重载,也没有+=或-=重载,这一点与向量不同。 例 11-3 链表类应用举例 //EXAMPLE11_3.CPP //源程序开始 #pragma warning (disable : 4786) //防止一个编译警告的出现 #include iostream #include numeric #include algorith
您可能关注的文档
- 单片机程序存储空间及数据存储空间详解.doc
- 单片机第15讲 CAN通信接口.ppt
- 第十篇第二篇_建设社会主义核心价值体系 2.ppt
- 单片机教案(第三讲 指令系统).ppt
- 提高可视电话接通率V6.3摘要.ppt
- 单片机与C51应用-3.ppt
- 单片机原理和应用第一章.ppt
- 提高施工现场临时用电安全管理摘要.ppt
- 提高外墙保温砂浆施工质量摘要.doc
- 第十篇功率驱动.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 四年级音乐下册欣赏《包粽子》《欢乐的夜晚》教案苏教版.pdf VIP
- 电镀加工项目可行性研究报告.docx VIP
- 第三单元第二章植物体内的物质与能量变化【速记清单】.docx
- 高大模板工程施工与支撑体系专项方案.docx VIP
- 春节后复工复产方案.doc VIP
- 中建协QC汇编_3-福州建工-提高大面积冷库墙体保温层施工质量——福州建工(集团)总公司.doc VIP
- Q SHB 0003-2016_全自动滚筒洗衣机玻璃观察窗.pdf VIP
- 电力工程安全协议书.doc VIP
- 2019年青海省中考数学试卷【原卷版】材料.pdf VIP
- AI驱动的组织重构与业务重构:绚星智慧科技AI实践白皮书.docx VIP
原创力文档

文档评论(0)