【C++】STL 简介
本篇文章会简要介绍 C++ 语言的重要组成部分 -- STL
目录
1 什么是 STL
2 STL 的版本
3 STL 六大组件
4 STL 的重要性
1) 极大提高开发效率,避免重复造轮子
2) STL 是 C++ 工程师的“必备技能”
5 总结
1 什么是 STL
STL 是 Standard Template Library 的简称,其中文名称为标准模板库,其是 C++ 标准库的重要组成部分。不仅是一个可以复用的组件库,而且最重要的是其是一个包罗了各种数据结构与算法的库,如:字符串、顺序表、链表、红黑树以及哈希表等。
2 STL 的版本
1) 原始版本:由 Alexander Stepanov 和 Meng Lee 在惠普实验室完成,是所有 STL 实现版本的始祖。该版本本着开源精神,允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,只需遵循开源原则。
2) P.J.版本:由 P. J. Plauger 开发,继承自 HP 版本,被 Windows Visual C++ 采用。此版本不能公开或修改,其可读性较低,符号命名比较怪异。
3) RW 版本:由 Rouge Wave 公司开发,同样继承自 HP 版本,被 C++ Builder 采用。该版本也不能公开或修改,可读性一般。
4) SGI版本:由 Silicon Graphics Computer Systems, Inc 公司开发,继承自 HP 版本,被 GCC(Linux)采用。它具有很好的可移植性,可公开、修改甚至贩卖,从命名风格和编程风格上看,可读性非常高。
3 STL 六大组件
在 STL 中共有六大组件,分别是:
其中容器部分就是我们常说的各种数据结构,比如 string 就是字符串,vector 就是顺序表,list 就是链表等等。
4 STL 的重要性
1) 极大提高开发效率,避免重复造轮子
在开发中,各种数据结构是经常被使用的,在 STL 出现之前,人们都是自己手动造轮子来实现各种数据结构,每次用的时候都需要自己手动造轮子,非常麻烦。而 STL 出现之后,人们就可以直接复用 STL 中提供的各种容器,进而提升了开发效率。
2) STL 是 C++ 工程师的“必备技能”
不管是在面试中,还是在以后的开发中,STL 都是必不可少的部分,可以说是已经是每个 C++ 工程师必不可少的一项技能。
5 总结
STL 作为一个重要的学习模块,在今后的讲解中,我们不仅会讲解其使用,还会讲解其原理,并模拟实现每个容器,希望大家能够好好学习 STL,达到熟练掌握并使用。