- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
泛型及STL
王克朝
2012-06-13 C++语言基础II 王克朝 1
学习内容
泛型
–函数模板
–类模板
STL
–算法
–容器
–迭代器
2012-06-13 C++语言基础II 王克朝 2
泛型
generic programming
通用编程
参数化的类、模版类、类的类,元类
(metaclass)
像类一样,泛型也是一种抽象数据类
但是泛型不属于面向对象,它是面向对
的补充和发展。
2012-06-13 C++语言基础II 王克朝 3
类模板
类模板不是真正的类,它只是c++编译器
生成具体类的一个“模子”;
模板类的成员函数必须是函数模板。
2012-06-13 C++语言基础II 王克朝 4
函数模板
函数模板不是真正的函数,它只是c++编
译器生成具体函数的一个“模子”;
函数模板本身不生成函数,实际生成的函
数是替换函数模板的那个函数,这种替换
是编译期就绑定的。
函数模板不是只编译一份满足多重需要,
而是为每一种替换它的函数编译一份。
2012-06-13 C++语言基础II 王克朝 5
STL
STL是C++对泛型编程思想的实现。
STL (Standard Template Library,标准模板库) 。
STL广义上分为三类:algorithm (算法)、container
(容器)和iterator (迭代器),几乎所有的代码都采
用了模板类和模板函数的方式,这相比于传统的由函数
和类组成的库来说提供了更好的代码重用机会。
在C++标准中,STL被组织为下面的13个头文件:
algorithm、deque、functional、
iterator、vector、list、map、
memory、numeric、queue、set、
stack 和utility。
2012-06-13 C++语言基础II 王克朝 6
算法
STL提供了大约100个实现算法的模版函数,算
法部分主要由头文件algorithm,numeric
和functional组成。
algorithm是所有STL头文件中最大的一个,
它是由一大堆模板函数组成的,其中常用到的功
能范围涉及到比较、交换、查找、遍历操作、复
制、修改、移除、反转、排序、合并等等。
numeric体积很小,只包括一些简单数学运算
的模板函数。
functional中则定义了一些模板类,用以声明
函数对象。
2012-06-13 C++语言基础II 王克朝 7
容器container
(集合collection )
数据结构 实现头文件
向量(vector) 顺序性容器 vector
列表(list) 顺序性容器 list
双队列(deq
文档评论(0)