基本概念>>
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)——负责空间配置与管理。
从上述图片可以看出六大组件之间的关系如下:容器从配置器那里取得相应的数据存储空间,算法通过迭代器存取容器的内容,仿函数可以协助算法完成不同的策略变化,配接器可以修饰或套接仿函数。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文题目:初识STL-创新互联
当前网址:https://www.cdcxhl.com/article18/dsjdgp.html
成都网站建设公司_创新互联,为您提供移动网站建设、外贸网站建设、电子商务、Google、网站收录、用户体验
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联