一.STL
STL(standard template library-标准模板库),是C++的重要组成部分,不仅是一个可复用的组件库,也是一个包罗数据结构与算法的软件框架
二.版本
1.原始版本
HP版本-开源使用,无需付费
2.P.J.版本
继承自HP版本,被WindowsVisual C++采用,不能公开或修改,可读性较低,符号命名比较怪异
3.RW版本
继承自HP版本,被C++ Bulider采用,不能公开或修改,可读性一般
4.SGI版本
继承自HP版本,被GCC(Linux)采用,可移植性好,可公开、修改,从命名风格和编程风格上看,阅读性非常高
三.六大组件
四.缺陷
1.更新速度太慢
2.不支持线程安全,并发环境下需要自行加锁,且锁的粒度较大
3.因为极度追求效率,导致内部结构复杂,如类型萃取,迭代器萃取
4.使用时会有代码膨胀问题,如使用vector/vector/vector这样会生成多份代码