HP STL
HP版本是所有STL实现版本的始祖。HP STL是Alexandar Stepanov在惠普Palo Alto实验室工作时,与Meng Lee合作完成的。HP STL是C++ STL的第一个实现版本,而且是开放源码。其它版本的C++ STL一般是以HP STL为蓝本实现出来的。
P.J.Plauger
实现版本
P.J.Plauger版本是由P.J.Plauger开发,它继承HP版本,并不属于open source范畴。此版本被用于Microsoft的Visual C++中,可读性简直是一坨屎。
Rouge Wave
实现版本
Rouge Wave版本是由Rouge Wave公司开发,它继承HP版本,
并不属于open source范畴。Rouge Wave版本被C++Builder采用。
STLport实现版本
为了使SGI STL的基本代码都适用于VC++和C++ Builder等多种编译器,俄国人Boris Fomitchev建立了一个free项目来开发STLport,此版本STL是开放源码的。(似乎是不再更新,并不支持C++11)
SGI STL实现版本
SGI版本由Silicon Graphics Computer System, Inc公司发展,继承HP版本。所以它的每一个头文件也都有HP的版本声明。此外还加上SGI的公司版权声明。
主要设计者仍然是STL之父Alexandar Stepanov,被Linux的C++编译器GCC所采用。SGI STL是开源软件,源码可读性非常高。
参考:《STL源码剖析》侯捷。
版权声明:本文为nin_cool原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。