温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

初识STL

发布时间:2020-08-05 11:09:27 来源:网络 阅读:428 作者:柠公子 栏目:编程语言

基本概念>>

STL(Standard Template Library)是C++标准库的最重要的组成部分,STL(标准模板库)不仅是一个可复用的组件库,而且是一个包罗算法和数据结构的软件框架。

版本介绍>>

原始版本-Alexander Stepanov、Meng Lee在惠普实验室完成原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、 传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源声明。

1. HP版本-也是所有STL的始祖 

2. PJ版本-由P.J.Plauger开发--Windows-VS

3. RW版本-由Rouge Wave公司开发

4. SGI版本-有Silicon Graphics Systems, Inc公司开发-Linux

由于我学习时主要参考的是侯捷老师的《STL源码剖析》一书,所以博主重点谈SGI版本,GCC用的也是此版本~

STL六大组件>>

1.容器( containers)——各种资料结构,如vector、list、deque、set、map等。

2.算法(algorithm)——各种常用算法,如sort、search、erase等。

3.迭代器( iterators)——扮演容器与算法之间的胶合剂。

4.仿函数(functors)——行为类似函数,可作为算法的某种策略。

5.配接器(adapters)——用来修饰容器或仿函数或迭代器接口的东西。

6.配置器(allocators)——负责空间配置与管理。

初识STL


       从上述图片可以看出六大组件之间的关系如下:容器从配置器那里取得相应的数据存储空间,算法通过迭代器存取容器的内容,仿函数可以协助算法完成不同的策略变化,配接器可以修饰或套接仿函数。


向AI问一下细节
推荐阅读:
  1. 初识UNIX
  2. puppet 初识

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI