前言:
在前文小编讲述了模版初阶,其实讲述模版就是为了给讲STL提前铺垫,STL是C++中很重要的一部分,各位读者朋友要知道它的份量,下面废话不多说,开始走进STL的世界。
STL(standard template libaray-标准模板库)是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且还是一个包罗数据结构和算法的软件框架。简单来说,STL包含了很多东西,其中就有小编之前讲过的栈,队列等等一系列数据结构,是一个很全能的库,等小编之后深入讲述里面的内容读者朋友就知道为什么我说它是全能的了,下面我们来说说STL的版本。
下面这些版本都是小编从网上查询的,如果有错误的话小编会及时更正的。
Alexander Stepanov、Meng Lee在惠普实验室(这里的惠普实验室就是如今电脑品牌惠普(HP)的下属实验室)完成的原始版本,本着开源的精神(小编很敬佩这些拥有开源精神的大佬们),他们声明允许任何人任意运用。拷贝。修改。传播,商业使用这些代码,无须付费。唯一的条件就是也需要向原始版本一样做开源使用。HP-所有STL实现版本的始祖(真就是老祖宗)。
由P.J.Plauger开发,继承自HP版本,被Windows Visual C++采用,不能公开或者修改;缺点:可读性比较低,符号命名比较怪异。
由Rouge Wage公司开发,继承自HP版本,被C++ Builder采用(这个编译器以前比较出名,但是后来没落了),不能公开或者修改,可读性一般。
由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版本,被GCC(Linux)采用,可移植性好,可公开、修改甚至贩卖、从风格命名和编程风格看,阅读性非常高。小编后来的文章关于STL的就是要阅读这部分源代码,主要参考的也会是这个版本。
这六大组件小编就用图片展示了:
以后小编就要围绕上面六个组件进行展开讲解。
4.如何学习STL
对于如何学习STL,小编本来想要引用一位名人说过的话来进行讲述,但是我看很多相关文章都涉及到了这句话,小编在说就显得重复了,所以小编认为,学习好STL,是分为三步的,第一步就是熟用C++,如果STL都不会使用的话,那么怎谈学习好这三个字,所以熟用STL就是学习好STL的第一步;第二步了解泛型技术的内涵与STL的学理乃至作品,对于这一步,其实就是我们要依靠前人走过的路了,我们需要理解前人对于泛型技术的内涵的讲述,了解他们通过自己的学习STL凝结而成的作品,这里就比如侯捷老师的《STL源码剖析》等等一系列作品,我们在熟悉使用STL后就要知道STL的内涵到底是什么,它里面的一些功能是如何实现的;第三步就是扩充STL,我们已经熟用了STL,了解了STL的内涵,下面就要我们自己去扩充STL了,这一步的实现其实是很困难的,小编认为自己大学这几年是达不到这个境界的,这等境界也许以后会在工作中开始慢慢的开始提高,小编最大的希望就是完成前两步就足矣。这便是学习STL的三步,简单来说,学习STL的三个境界,就是:能用,能明理,能扩展,做好这三步,STL便是学习到了精髓。
5.总结
以上便就是本篇文章所要讲述的内容,本文很短,跟水文章一样(我绝对不是为了水文章而写的⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄),但是其实本文仅仅就是STL的简介罢了,以后我所写的内容就是文章所提及的内容,学C++之路,任重而道远,希望以后我不会中途放弃,如果文章有错误,请在评论区指出,我定会及时更正,那么,我们下一篇文章见啦!