文章目录
- 标准模板库(Standard Template Library)
- STL的版本
- P.J.版
- RW版
- SGI版
- STL的组成部分
萌新的学习笔记,写错了恳请斧正。
标准模板库(Standard Template Library)
标准模板库STL,是C++标准库的一个非常重要的组成成分。它的作用就类似于一个工具箱,里面有很多现成的模板“工具”,帮助我们更方便的处理数据。
STL的版本
STL最早是由Alexander Stepanov和Meng Lee在惠普实验室开发出来的,是完全开源的,这个原始版本也是现在所有STL的始祖。
P.J.版
这个版本是P.J. Plauger开发的,不允许公开及修改。这个版本是STL最早期的版本之一,代码可读性差而且符号命名比较奇怪。但是Windows Visual C++采用的是这个版本。
RW版
这个由Rogue Wave公司开发的版本,不允许公开及修改。这个版本着重于与商业环境的集成,通常用于大型企业级项目中。功能非常丰富且跨平台支持性极好。
SGI版
SGI版本由Silicon Graphics公司开发,这个版本是标准C++STL的基础,也是使用最多的STL版本。这个版本是开源的,其设计高效而且稳定,代码风格优秀命名合理。是适合初学者的版本。
STL的组成部分
- 容器:就像不同类型的“数据盒子”,用来存放各种数据,比如动态数组、链表、集合等。
- 迭代器:是用来从这些“数据盒子”里拿数据的“工具”,就像指针,能帮助我们遍历和操作里面的内容。
- 算法:是一组现成的“操作指令”,用来对数据进行排序、查找、复制等处理。
- 仿函数:仿函数就是一个带有“函数功能”的对象,能像函数一样被调用。
- 配接器:用来改变容器、迭代器或仿函数行为的工具。
- 空间配置器:类似于内存池,负责为容器开辟和释放内存。