天天看点

C++ STL的各种实现版本

ansi/iso的c++ stl规范版本正式通过以后,各个c++编译器厂商就可以依照标准所描述的原型去实现c++ stl泛型库,于是出现多种符合标准接口,但具体实现代码不同的泛型库,主要有:

hp stl

hp stl是alexandar stepanov在惠普palo alto实验室工作时,与meng lee合作完成的。hp stl是c++ stl的第一个实现版本,而且是开放源码。其它版本的c++ stl一般是以hp stl为蓝本实现出来的。

sgi stl

由silicon graphics computer systems公司参照hp stl实现,主要设计者仍然是stl之父alexandar stepanov,被linux的c++编译器gcc所采用。sgi stl是开源软件,源码可读性甚高。

stlport

为了使sgi stl的基本代码都适用于vc++和c++ builder等多种编译器,俄国人boris fomitchev建立了一个free项目来开发stlport,此版本stl是开放源码的。

p.j.plauger stl

由p.j.plauger参照hp stl实现出来,被visual c++编译器所采用,但不是开源的。

rouge wave stl

由rouge wave公司参照hp stl实现,用于borland c++编译器中,这个版本的stl也不是开源的。

侯捷的stl源码剖析是以sgi stl为研究对象的。

继续阅读