STL历史

STL即标准模版库,是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开发,它是与C++几乎同时开始开发的;一开始STL选择了Ada作为实现语言,但Ada有点不争气,最后他们选择了C++,C++中已经有了模板。STL又被添加进了C++库。

STL又有六大组件:容器、算法、迭代器、仿函数、适配器、空间分配器。

容器-----用于装各种数据结构,数组、链表、树还有图等

算法-----用于search、sort等功能

迭代器----现阶段可以看成指针,用于算法和容器的连接

仿函数---相当于C语言的回调函数

以下俩个暂时没理解

适配器---???

空间分配器----(malloc/free?new/delete???)

STL引入C++后,跟C++的关系如下图所示:

 

不同时期STL的版本:

HP-STL:第一个STL的实现版本

P.J.Plauger STL:属于个人作品,由P.J.Plauger本人实现,是HP STL的一个继承版本

Rouge Wave STL:由Rouge Wave公司实现,也是HP STL的继承版本,被C++ Builder使用

STLport:主要把SGI STL的基本版本移植到VC++和C++ Builder上

SGI STL:在GCC采用,在linux上性能出色且开源(在http://www.sgi.com可下载源代码)

STL家族图谱如下:

 

 

 

posted @ 2012-12-31 10:35  tongdh  阅读(516)  评论(0编辑  收藏  举报