目录
什么是STL?
STL是一套标准模板库, 是c++标准库的重要组成部分, 也是一个可以复用的组件库, 同样是一个包括了数据结构和算法的
软件框架, 它是惠普实验室开发的一系列软件的总称
STL的版本
- HP STL
在惠普实验室完成的原始版本, 是开源的, 但是要求要是使用也必须像原始版本一样开源.
- PJ STL
P. J. Plauger开发,继承自HP版本,被Windows Visual C++采用,不能公开或修改, 但是可读性比较低, 命名不太友好
- SJI STL
由Silicon Graphics Computer Systems, Inc公司开发, 继承自HP版本, 被GCC采用, 可移植性好, 可公开, 阅读性强.
STL的组件
STL的六大组件我们在后面的博客中会一一讲解, 所以在这里我们先知道一下有这些东西就好了
STL的优缺点
优点:
1. 代码易读性较强
2. 不依赖于数据类型, 个人觉得挺方便的
3. 低耦合
4. 稳定性比自己实现的要好很多
缺点:
1. STL库更新慢, 是非常慢.
2. STL不支持线程安全, 并发时需要自己加锁, 力度也比较大
3. STL的内部比较复杂, 比如类型萃取, 迭代器萃取.
STL并不适合于数据量过大的处理, 效率会有所下降, 所以STL使用还是要视场景而定