湖南科技大学:《C++语言程序设计》 第十章 C++标准模板库

C++语言程序设计 第十章C艹标准模板库 湖南科技大学莫尚丰 大斗
第十章 C++标准模板库 湖南科技大学 莫尚丰 C++语言程序设计

C++语言程序设计 湖南科技大学 主要内啥 泛型程序设计 ●与标准模板库有关的概念和术语 ●C++标准模板库中的容器 ●迭代器 标准C++库中的算法 函数对象
C++语言程序设计 湖南科技大学 2 主要内容 ⚫ 泛型程序设计 ⚫ 与标准模板库有关的概念和术语 ⚫ C++标准模板库中的容器 ⚫ 迭代器 ⚫ 标准C++库中的算法 ⚫ 函数对象

C++语言程序设计 湖南科技大学 乏剋程序设计 将程序写得尽可能通用 将算法从特定的数据结构中抽象出来,成 为通用的 C++的模板为泛型程序设计奠定了关键的 基础 STL(Standard Template Library)是泛型程 序设计的一个范例 容器( container 迭代器 iterator) 算法( algorithms) 函数对象( function object) 3
C++语言程序设计 湖南科技大学 3 泛型程序设计 ⚫ 将程序写得尽可能通用 ⚫ 将算法从特定的数据结构中抽象出来,成 为通用的 ⚫ C++的模板为泛型程序设计奠定了关键的 基础 ⚫ STL(Standard Template Library)是泛型程 序设计的一个范例 – 容器(container) – 迭代器(iterator) – 算法(algorithms) – 函数对象(function object)

C++语言程序设计 明南科技大学 命名空间( namespace) 个命名空间将不同的标识符集合在一个 概命名作用域 ( named scope)内 为了解决命名冲突 念和术语 例如,声明一个命名空间NS: namespace Ns i class File void Fun o 则引用标识符的方式如下, NS: File obj: NS∷FunO 没有声明命名空间的标识符都处于无名的 命名空间中
C++语言程序设计 湖南科技大学 4 命名空间(namespace) ⚫ 一个命名空间将不同的标识符集合在一个 命名作用域(named scope)内 – 为了解决命名冲突 – 例如,声明一个命名空间NS: namespace NS { class File; void Fun (); } 则引用标识符的方式如下, NS:: File obj; NS:: Fun (); ⚫ 没有声明命名空间的标识符都处于无名的 命名空间中 概 念 和 术 语

C++语言程序设计 明南科技大学 命名空间(续) ●可以用 using来指定命名空间 概念和术语 例如,经过以下声明: using NS: File: 在当前作用域中就可以直接引用Fie using namespace std 命名空间std中所有标识符都可直接引用 在新的C+标准程序库中,所有标识 符都声明在命名空间std中,头文件 都不使用扩展名
C++语言程序设计 湖南科技大学 5 命名空间(续) ⚫ 可以用using来指定命名空间 – 例如,经过以下声明: using NS::File; 在当前作用域中就可以直接引用File – using namespace std; 命名空间std中所有标识符都可直接引用 ⚫ 在新的C++标准程序库中,所有标识 符都声明在命名空间std中,头文件 都不使用扩展名 概 念 和 术 语

C++语言程序设计 湖南科技大学 概容器类是容纳、包含一组元素或元素 念。异类容器类与同类容器类 顺序容器与关联容器 语七种基本容器: 向量( vector)、双端队列( deque) 列表(list)、集合(set)、多重集合 ( multiset、映射(map)和多重映射 (multimap
C++语言程序设计 湖南科技大学 6 容器 ⚫ 容器类是容纳、包含一组元素或元素 集合的对象。 ⚫ 异类容器类与同类容器类 ⚫ 顺序容器与关联容器 ⚫ 七种基本容器: – 向量(vector)、双端队列(deque)、 列表(list)、集合(set)、多重集合 (multiset)、映射(map)和多重映射 (multimap) 概 念 和 术 语

C++语言程序设计 湖南科技大学 容器的接口 通用容器运算符 方法(函数) 迭代方法 o begin(, endO, begin(, rendO 访问方法 e size(, max size, swap(, empty
C++语言程序设计 湖南科技大学 7 容器的接口 ⚫ 通用容器运算符 – ==,!=,>,>=,<,<=,= ⚫ 方法(函数) –迭代方法 ⚫ begin(),end(),rbegin(),rend() –访问方法 ⚫ size(),max_size(),swap(),empty()

C++语言程序设计 湖南科技大学 活配器 概适配器是一种接口类 念 为已有的类提供新的接口。 目的是简化、约束、使之安全、隐藏或 者改变被修改类提供的服务集 术。三种类型的适配器: 语 容器适配器 用来扩展7种基本容器,它们和顺序容器相结 合构成栈、队列和优先队列容器 迭代器适配器 函数对象适配器
C++语言程序设计 湖南科技大学 8 适配器 ⚫ 适配器是一种接口类 – 为已有的类提供新的接口。 – 目的是简化、约束、使之安全、隐藏或 者改变被修改类提供的服务集合。 ⚫ 三种类型的适配器: – 容器适配器 ⚫ 用来扩展7种基本容器,它们和顺序容器相结 合构成栈、队列和优先队列容器 – 迭代器适配器 – 函数对象适配器。 概 念 和 术 语

C++语言程序设计 湖南科技大学 迭代器 概 迭代器是面向对象版本的指针,它 念们提供了访问容器、序列中每个元素的 方法。 术语
C++语言程序设计 湖南科技大学 9 迭代器 迭代器是面向对象版本的指针,它 们提供了访问容器、序列中每个元素的 方法。 概 念 和 术 语

C++语言程序设计 湖南科技大学 算法 概C++标准模板库中包括70多个算法 念 其中包括査找算法,排序算法,消除算 法,记数算法,比较算法,变换算法 置换算法和容器管理等等 ●这些算法的一个最重要的特性就是它 语们的统一性,并且可以广泛用于不同 的对象和内置的数据类型
C++语言程序设计 湖南科技大学 10 算法 ⚫ C++标准模板库中包括70多个算法 – 其中包括查找算法,排序算法,消除算 法,记数算法,比较算法,变换算法, 置换算法和容器管理等等。 ⚫ 这些算法的一个最重要的特性就是它 们的统一性,并且可以广泛用于不同 的对象和内置的数据类型。 概 念 和 术 语
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 湖南科技大学:《C++语言程序设计》 第一章 绪论.ppt
- 《因特网实践》 第八章 网页建立与维护.ppt
- 《因特网实践》 第七章 Internet常用软件的使用方法.ppt
- 《因特网实践》 第六章 拨号网络.ppt
- 《因特网实践》 第五章 Intranet的建立.ppt
- 《因特网实践》 第四章 广域网.ppt
- 《因特网实践》 第三章 局域网络.ppt
- 《因特网实践》 第二章 计算机网络基础知识.ppt
- 《因特网实践》 第一章 计算机网络引论.ppt
- 中山大学:《Matlab计算与仿真技术》课程教学资源(试卷习题)期中考试.doc
- 中山大学:《Matlab计算与仿真技术》课程教学资源(上机实习)第六次 Matlab绘图-II、Simulink仿真I.doc
- 中山大学:《Matlab计算与仿真技术》课程教学资源(上机实习)第五次 Maab绘图.doc
- 中山大学:《Matlab计算与仿真技术》课程教学资源(教材讲义)MATLAB array manipulation tips and tricks.pdf
- 《MATLAB语言及其应用》课程教学资源(参考资料)某公司MATLAB产品应用基础.pdf
- 中山大学:《Matlab计算与仿真技术》课程教学资源(PPT课件讲稿)第九讲 Maab编程.ppt
- 中山大学:《Matlab计算与仿真技术》课程教学资源(PPT课件讲稿)第八讲 Matlab编程-ll.ppt
- 中山大学:《Matlab计算与仿真技术》课程教学资源(PPT课件讲稿)第六讲 交互式计算IV.ppt
- 中山大学:《Matlab计算与仿真技术》课程教学资源(PPT课件讲稿)第五讲 交互式计算山.ppt
- 中山大学:《Matlab计算与仿真技术》课程教学资源(PPT课件讲稿)第四讲 交互式计算.ppt
- 中山大学:《Matlab计算与仿真技术》课程教学资源(PPT课件讲稿)第三讲 交互式计算-I.ppt
- 湖南科技大学:《C++语言程序设计》 第十一章 流类库与输入/输出.ppt
- 湖南科技大学:《C++语言程序设计》第十二章 异常处理.ppt
- 湖南科技大学:《C++语言程序设计》 第十三章 MFC库 Windows与程序开发概述.ppt
- 湖南科技大学:《C++语言程序设计》 第二章 C++简单程序设计.ppt
- 湖南科技大学:《C++语言程序设计》 第三章 函数.ppt
- 湖南科技大学:《C++语言程序设计》 第四章 类与对象.ppt
- 湖南科技大学:《C++语言程序设计》 第五章 C++程序的结构.ppt
- 湖南科技大学:《C++语言程序设计》 第六章 数组指针与字符串.ppt
- 湖南科技大学:《C++语言程序设计》 第七章 继承与派生.ppt
- 湖南科技大学:《C++语言程序设计》 第八章 多态性.ppt
- 湖南科技大学:《C++语言程序设计》 第九章 群体类和群体数据的组织.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第一章 计算机系统概论.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第七章 外围设备.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第三章 存储系统.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第二章 运算方法和运算器.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第二章(2-2) 运算方法和运算器.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第五章 中央处理器.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第八章 输入输出系统.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第六章 总线系统.ppt
- 宁波大学科学技术学院:《计算机组成原理与结构》第四章 指令系统.ppt