STL 的各个版本

  • Post author:
  • Post category:其他







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源码剖析》侯捷。










版权声明:本文为u011838628原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。