C++之STL概述
来源:互联网 发布:隐形眼镜 知乎 编辑:程序博客网 时间:2024/05/16 02:24
1 什么是STL
STL就是C++ Standard Template Library,也就是标准模版库,是一个高效的C++程序库。STL包含六大组件:容器(container)、算法(algorithm)、迭代器(iterator)、配置器(allocator)、适配器(adapter)和函数对象(function object)。我们在学习这些组件时,应该按其重要程度来区别学习。重要成都由大到小是:泛型容器和泛型算法(表示任何类型和对象都可以使用这些容器和算法)>>迭代器>>配置器、适配器、函数对象。
STL的主要头文件包括13个,分别是<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<numeric>、<memory>、<queue>、<set>、<stack>、<utility>,具体内容如表1所示。
表1 STL的主要头文件
头文件
内容
<deque>
deque的定义
<vector>
vector的定义
<list>
list的定义
<map>
map、multimap的定义
<set>
set、multiset的定义
<algorithm>
和<numeric>定义了STL的通用算法
<numeric>
和<algorithm>定义了STL的通用算法
<iterator>
所有在容器类型中定义的迭代器的祖先定义
<utility>
定义了pair,定义了基本的iterator
<memory>
主要是智能指针auto_ptr的定义和一些全局临时内存处理函数的定义;头文件包含了另一个重要头文件<xmemory>,主要是空间配置器allocator的定义
<queue>
queue、priority_queue的定义
<stack>
stack的定义
<functional>
通用函数对象的定义
- 为了方便地存储数据,设计了容器;
- 为了方便地遍历、查找、替换容器中的元素,设计了算法;
- 为了方便地让容器、算法独立工作,设计了在二者之间起桥梁作用的迭代器;
- 为了统一分配和控制容器中的内存,设计了配置器;
- 为了更好地给算法传入参数,设计了函数对象;
- 为了更好地扩展STL现有的接口,设计了适配器。
2 STL的历史
- C ++ STL概述
- C++STL概述
- C++STL:map概述
- C++之STL概述
- [iuud8]STL之概述
- C++之STL概述
- STL之algorithm概述
- STL(C++)详细概述
- STL源码剖析之STL概述
- C++STL之multimap
- C++STL之string
- C++STL之迭代器
- C STL 之算法
- C++STL之string
- C++STL 之 迭代器
- C++STL之string
- C++STL之string
- C++STL之迭代器
- 通过配置的容器过滤
- C++之虚拟继承和虚基类
- Css/html兼容性问题
- VMware workstation+Ubuntu 16.04 英文版设置中文界面以及设置中文输入法
- listener 定时器TimerTask
- C++之STL概述
- Spark学习——缓存、闭包及共享变量
- 老梁说天下——慈善的红与黑
- rest路径形式相同的话,通过@GET @DELETE 区别
- poj 1848 Tree 树形dp
- 【转】C++之内存存储
- CSS3和jQuery实现网页顶部进度条
- ajax action交互,以及打印任意实体类jsp
- 【原创】Android之应用程序的组成部分