第14章标准模板库(STL)_第1页
第14章标准模板库(STL)_第2页
第14章标准模板库(STL)_第3页
第14章标准模板库(STL)_第4页
第14章标准模板库(STL)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1414章章 标准模板库标准模板库标准模板库(标准模板库(STL,Standard Template Library)是一组通)是一组通用容器(数据结构)和算法的集合,它主要利用模板技用容器(数据结构)和算法的集合,它主要利用模板技术实现的。它为开发者提供了很多标准化的组件,在开术实现的。它为开发者提供了很多标准化的组件,在开发程序中只需要直接利用这些组件即可。发程序中只需要直接利用这些组件即可。14.1 14.1 泛型化编程与泛型化编程与STLSTL介绍介绍泛型化编程是一种较为新的技术,目前已经被大部分语言支泛型化编程是一种较为新的技术,目前已经被大部分语言支持。通过泛型化编程可以实现代

2、码的通用性并提高代码持。通过泛型化编程可以实现代码的通用性并提高代码的效率。在的效率。在C+中,通过中,通过STL来实现泛型化编程的。来实现泛型化编程的。14.1.1 14.1.1 泛型化编程的概念泛型化编程的概念泛型化编程思想诞生于泛型化编程思想诞生于20世纪世纪70年代后半期。目前,泛型化年代后半期。目前,泛型化编程已经被作为一门单独的技术来进行研究,很多高级编程已经被作为一门单独的技术来进行研究,很多高级语言都开始支持泛型化编程,但是实现泛型的方式各不语言都开始支持泛型化编程,但是实现泛型的方式各不相同。泛型化编程在相同。泛型化编程在1987年才运用于年才运用于C+上,上,C+支持泛支持

3、泛型化编程是通过模板技术来实现的,其中最典型的就是型化编程是通过模板技术来实现的,其中最典型的就是STL。14.1.2 C+14.1.2 C+标准库与标准库与STLSTL的内容的内容C+编译系统除了支持语言本身外,还提供编译系统除了支持语言本身外,还提供C+标准中标准中规定的标准库函数的实现。标准库中提供了规定的标准库函数的实现。标准库中提供了C+程序的程序的基本设施。基本设施。C+标准函数库和标准函数库和STL主要包含的内容,如主要包含的内容,如图所示。图所示。14.2 STL14.2 STL的使用的使用STL功能强大,使用它能够快速地开发出高效率的程序。在功能强大,使用它能够快速地开发出高

4、效率的程序。在使用使用STL时,主要涉及到容器、迭代器、算法等概念和用时,主要涉及到容器、迭代器、算法等概念和用法。法。14.2.1 14.2.1 容器容器在数据结构的课程中可以知道,经典的数据结构数量是有限在数据结构的课程中可以知道,经典的数据结构数量是有限的。但是在实际开发中却常常重复着去实现这些数据结的。但是在实际开发中却常常重复着去实现这些数据结构的代码。这些代码大部分内容是类似的,不同之处只构的代码。这些代码大部分内容是类似的,不同之处只是在为了适应不同的数据和操作上进行细微的改动。是在为了适应不同的数据和操作上进行细微的改动。STL容器其实已经提供了这些,对最常用的数据结构提供了容

5、器其实已经提供了这些,对最常用的数据结构提供了非常好的支持。非常好的支持。1容器的构成容器的构成2声明容器声明容器3编译中的问题编译中的问题14.2.2 14.2.2 迭代器迭代器迭代器从本质上讲是指针的泛化。通过迭代器可以以相同的迭代器从本质上讲是指针的泛化。通过迭代器可以以相同的方式来处理不同的数据结构(即容器)。迭代器是容器方式来处理不同的数据结构(即容器)。迭代器是容器和算法之间的纽带,使算法不必关心各种数据结构的具和算法之间的纽带,使算法不必关心各种数据结构的具体细节。体细节。14.2.3 14.2.3 算法算法算法部分主要由头文件算法部分主要由头文件,和和组成。其中,组成。其中,是

6、由大量的模板函是由大量的模板函数组成的,这些函数大部分都是独立的,其中常用到的数组成的,这些函数大部分都是独立的,其中常用到的功能范围涉及到比较、交换、查找、遍历、复制、修改功能范围涉及到比较、交换、查找、遍历、复制、修改、移除、反转、排序、合并等;、移除、反转、排序、合并等;包括几个在序包括几个在序列上面进行简单数学运算的模板函数,如加法和乘法在列上面进行简单数学运算的模板函数,如加法和乘法在序列上的一些操作;序列上的一些操作;中则定义了一些模板类中则定义了一些模板类,用以声明函数对象。,用以声明函数对象。14.3 14.3 本章实例本章实例建立一个用户输入的单词库,统计单词出现的频度,能对这建立一个用户输入的单词库,统计单词出现的频度,能对这些单词进行快速地查找。些单词进行快速地查找。14.4 14.4 小结小结本章主要介绍了本章主要介绍了STL的内容以及其主要组件的基本概念和使的内容以及其主要组件的基本概念和使用方法。用方法。STL是一个非常复杂也非常强大的系统,提供了是一个非常复杂也非常强大的系统,提供了众多实用的数据结构和算法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论