以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  [转帖]C++标准库下的STL  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=125375)


--  作者:happem
--  发布时间:8/13/2012 11:12:00 AM

--  [转帖]C++标准库下的STL

当我们掌握一门语言的语法之后,更多的时间都是在学习和使用标准库,函数库和类库虽然不是语言本身的组成部分,但是它们对应用软件开发的价值实在是太大了。试想一下,如果不使用函数库和C++标准库,让我们自己编写那些将要用到的库函数、容器类及算法,这种难度和工作量是无法想象的。

C++标准库不仅仅包含STL,还包含标准C函数库、I/O流、串、数值计算、国际化与本地化等的支持,其中大都用模板技术进行了泛型实现。

STL是C++标准库的最主要和最重要的组成部分。C++的库在标准化之前,仅包含一些I/O组件、string类及C函数库等级少的内容,而且还不是模板化的,模板的概念被提出和实现之后,开发一些实用的泛型容器和泛型算法成为可能。C++最重要的改变不是语言本身的改变,而是增加了标准库:

为什么标准库的模板库如此重要呢?因为:

(1)它可用来创建动态增长和减少的数据结构;

(2)它是类型无关的,因此具有很高的可复用性;

(3)它在编译时而不是运行时进行数据类型检查,保证了类型安全;

(4)它是平台无关的。因此保证了最大的可移植性;

(5)它还可用与基本数据类型,包括指针和引用,这对那些必须使用类层次结构来构造应用程序的语言来说是没法比的;

STL是一个标准规范,它只是为容器、迭代器和泛型算法等组件定义一整套统一的上层访问接口及各种组件之间搭配运用的一般规则,而没有定义组件底层的具体实现方法,因此不同的软件供应商都可以提供自己的STL实现版本,我们可以把STL看做是一个概念模型库或者是一个组件架构。STL内含的标准组件分类思想,无论对程序员学习和运用STL还是对研究和扩展STL都是极有意义和帮助的。
l来自:”http://www.lirenedu.org/index.php?ack=xinwen&id=1044“


--  作者:ljuyx
--  发布时间:8/14/2012 5:01:00 PM

--  
就是来看一看
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
47.363ms