一、STL
1、概念
STL是C++标准库的最重要的组成部分,STL(标准模板库)不仅是一个可复用的组件库,而且是一个包罗算法和数据结构的软件框架。
2、STL版本
原版本-Alexander Stepanov、Meng Lee在惠普实验室完成原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源声明。
1、HP版本-也是所有STL的始祖
2、PJ版本-由P.JPlauger开发–Windows-VS
3、RW版本-由Rouge Wave公司开发
4、SGI版本-由Silicon Graphics Systems,Inc公司开发-Linux
3、STL的六大组件
1、容器-各种数据结构(vector、list、map、set等)
2、迭代器-扮演容器和算法的胶合剂
3、空间配置器-负责内存空间的分配和管理
4、配接器(适配器)-一种修饰容器或者仿函数或者迭代器接口的东西
5、算法-各种常见算法(sort、search、copy等)
6、仿函数(行为类似函数的类,用作算法的某种策略)
4、如何学习STL
1、STL在线文档(参考文档学习STL的使用)
http://www.cplusplus.com/reference/
2、STL剖析书籍(看侯捷老师庖丁解牛)
3、STL源代码下载(源码之前,了无秘密)
5、剖析工具
1、Source Insight
2、VS201X
3、everything 搜索工具(基于数据库)