C++STL的版本实现有很多种,包括:HP STL、SGI STL、STL Port、P.J.Plauger STL和Rouge Wave STL等。
一、HP STL。
1.1 设计实现
HP STL是Alexandar Stepanov在惠普Palo Alto实验室工作时,与Meng Lee合作完成的。
1.2 实际应用
其他版本的C++ STL,一般是以HP STL为蓝本实现出来的。
1.3 开源性
HP STL是C++ STL的第一个实现版本,而且开放源代码。
二、SGI STL
2.1 设计实现
由Silicon Graphics Computer Systems公司参照HP STL实现,主要设计者仍然是STL之父Alexandar Stepanov。
2.2 实际应用
被Linux的C++编译器GCC所采用。
2.3 开源性
SGI STL是开源软件,源码可读性甚高。
三、STL Port
3.1 设计实现
为了使SGI STL的基本代码都适用于VC++和C++ Builder等多种编译器,俄国人Boris Fomitchev建立了一个free项目来开发STLPort。
3.2 实际应用
跨平台适用于VC++、C++ Builder、GCC等。 可以与BOOST配合使用,实现跨平台代码。
3.3 开源性
STL Port是开放源码的。
四、P.J.Plauger STL
4.1 设计实现
由P.J.Plauger参照HP STL实现出来的。
4.2 实际应用
被Visual C++编译器所采用。
4.3 开源性
不是开源的。
五、Rouge Wave STL
5.1 设计实现
由Rouge Wave公司参照HP STL实现,用于Borland C++编译器中,这个版本的STL也不是开源的。
5.2 实际应用
用于Borland C++编译器中。
5.3 开源性
不是开源的。
参考资料:
C++ STL版本介绍:http://hi.baidu.com/xuehuo_0411/item/5cbf6b1a7bbdbd7d7b5f25b9
3个STL版本:http://www.360doc.com/content/05/1002/01/494_16409.shtml