1. STL 概论
长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出”可重复
运用的东西”的方法让程序员的心血不止于随时间的迁移,人事异动而烟消云散,从函数
,类别函数库类别库、各种
组件,从模块化设计,到面向对象,为的就是复用性的提升。
复用性必须建立在某种标准之上。但是在许多环境下,就连软件开发最基本的数据结
构和算法都未能有一套标准。大量程序员被迫从事大量重
复的工作,竟然是为了完成前人已经完成而自己手上并未拥有的程序代码,这不仅是人力
资源的浪费,也是挫折与痛苦的来源。
为了建立数据结构和算法的一套标准,并且降低他们之间的耦合关系,以提升各自的
独立性、弹性、交互操作性相互合作性诞生了 。
1.1 STL 基本概念
标准模板库,是惠普实验室开发的一系列软件的
统
称。现在主要出现在 中,但是在引入 之前该技术已经存在很长时间了。
从广义上分为容器算法迭代器容器和算法
之间通过迭代器进行无缝连接。几乎所有的代码都采用了模板类或者模板函数,这相
比 传 统 的 由 函 数 和 类 组 成 的 库 来 说 提 供 了 更 好 的 代 码 重 用 机 会 。
标准模板库在我们 标准程序库中隶属于 的占到了 以
上。
1.2 STL 六大组件简介
提供了六大组件,彼此之间可以组合套用,这六大组件分别是容器、算法、迭代
器、仿函数、适配器(配接器)、空间配置器。
容器:各种数据结构,如 !、、"、、 等用来存放数据,从实
现角度来看, 容器是一种 。
算法:各种常用的算法,如 、#、、$。从实现的角度来看,
算法是一种 %
迭代器:扮演了容器与算法之间的胶合剂,共有五种类型,从实现角度来看,迭代器
是一种将 &'(''等指针相关操作予以重载
的 %所有 容器都附带有自己专属的迭代器,只有容器的设计者才知道
评论0
最新资源