1. 什么是STL
STL(standard template libaray-
标准模板库
)
:
是
C++
标准库的重要组成部分
,不仅是一个可复用的 组件库,而且是一个包罗数据结构与算法的软件框架
。
2. STL的版本
- 原始版本:
- Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使用。 HP 版本--所有STL实现版本的始祖。
- P. J. 版本:
由 P. J. Plauger 开发,继承自 HP 版本,被 Windows Visual C++ 采用,不能公开或修改,缺陷:可读性比较低,符号命名比较怪异。
- RW版本
由 Rouge Wage 公司开发,继承自 HP 版本,被 C+ + Builder 采用,不能公开或修改,可读性一般。
- SGI版本
由 Silicon Graphics Computer Systems , Inc 公司开发,继承自 HP 版 本。被 GCC(Linux) 采用,可移植性好,可公开、修改甚至贩卖,从命名风格和编程风格上看,阅读性非常高。我们后面学习 STL 要阅读部分源代码,主要参考的就是这个版本。
3. STL的六大组件
4. STL的重要性
1. 在笔试中
二叉数层序打印
重建二叉树
两个栈实现一个队列
2. 在面试中
3. 在工作中
网上有句话说:“不懂STL,不要说你会C++”。STL是C++中的优秀作品,有了它的陪伴,许多底层的数据结构以及算法都不需要自己重新造轮子,站在前人的肩膀上,健步如飞的快速开发。
5. 如何学习STL
简单总结一下:学习STL的三个境界:能用,明理,能扩展 。
本篇文章介绍了STL(标准模版库)的相关知识,欢迎大家评论交流!