第6章__C++标准模块库(STL)及其程序设计.pdf

第6章__C++标准模块库(STL)及其程序设计.pdf

  1. 1、本文档共301页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章__C标准模块库(STL)及其程序设计

第6章 C++标准模块库(STL)及其程序设计 第6章 C++标准模块库(STL)及其程序设计 6.1 STL简介 6.2 vectors 6.3 STL与模板 6.4 迭代器 6.5 算法 6.6 容器 6.7 总结 第6章 C++标准模块库(STL)及其程序设计 6.1 STL 简 介 由于C/C++和Microsoft Windows控制的环境的声 望不断扩大,许多第三方销售商以提供例行程序的方 式发展极其有利可图的产品,这些库被设计用来存储 和处理数据。为了继续维护C/C++ 的生存能力,使其成 为值得选择的程序设计语言,ANSI/ISO C++通过严格 控制C/C++语言和正规定义,使其不断发展,并增加了 定义这些库的一个新方法,即标准模板库STL。 第6章 C++标准模块库(STL)及其程序设计 6.1.1 初识STL 简而言之,STL封装了C/C++ 的原始能力,再加上 数据结构中讲的先进高效的算法,绑定成了一个简单 实用的形式。 可以将STL看作一个可扩充的框架,其中包含一些 组件,如语言支持、诊断程序、通用工具、字符串、 本地化、容器、迭代符、算法、数值量和输入/输出。 其中,容器、迭代符、算法是STL的核心。 第6章 C++标准模块库(STL)及其程序设计 6.1.2 STL和HP公司 STL是由HP公司的Alexander Stepanov和Meng Lee 开发的,STL被期望成为保存和处理数据的一个标准 方法。主要编译器销售商正开始将STL结合到其产品 中。STL不只是作为一个次要的部分添加到世界上最 流行的程序设计语言中,它代表着一种革命性和能力。 STL为C++程序设计语言带来一组成熟得使人惊奇的类 属容器和算法,为C/C++增加了新的一面。 第6章 C++标准模块库(STL)及其程序设计 6.1.3 大众化的STL 从类属类到模板,然后再到最好的跨平台、可移 植的标准模板STL,是一个越来越方便程序员的过程。 STL越来越大众化。 第6章 C++标准模块库(STL)及其程序设计 6.1.4 STL总览 尽管STL的规模很大,并且其语法初看上去有些令 人生畏,但实际上一旦理解其构造以及使用的元素, STL是很容易使用的。STL的核心是三个基础项,它们 分别称为容器(Container)、算法(Algoithm)和迭代器 (Iterator) 。这些库一起工作,可以以一种可移植的格式 产生常用算法的解决方案,比如创建数组、元素插入/ 删除、排序和元素输出。STL甚至还进一步提供了内 部清晰、无缝、高效的输入/输出流(Iostream)集成和异 常处理。 第6章 C++标准模块库(STL)及其程序设计 6.1.5 STL基本组件 在概念上,STL包含三个分开的算法问题求解工具, 这三个最重要的部分是容器、算法和迭代器。容器是 数据在内存中的组织方法,例如数组、堆栈、队列、 链表或二叉树。然而,还有许多其他种类的容器, STL包括那些最有用的容器。STL容器是用模板类实现 的,因此可以容易地定制它们以得到不同类型的容器。 第6章 C++标准模块库(STL)及其程序设计 所有的容器有共同的管理成员函数,在其模板中 定义insert( ) 、erase( ) 、begin( ) 、end( ) 、size( ) 、 capacity( )等,各容器有支持其自身需要的成员函数。 算法是应用在容器上以各种方法处理其内容的行 为或能力。例如,有对容器内容排序、复制、检索和 合并的算法。在STL 中,算法是由模板函数表现

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档