1.STL简介
STL(标准模板库)C++提供的标准模板库的简称。对常见数据结构的封装+一些通用类型的的算法。顺序表+链表+栈+队列+堆+二叉树+哈希等。
- 与类型无关(函数模板)
- 与数据结构无关
- STL的重要特性是它不是面向对象的,主要依赖于模版,而不是封装和继承。
2.六大常用基本组件
1.容器:用来存放元素的一种数据结构
本质:对数据结构的一种封装
C++98:
- String:对字符串进行管理
- Vector:动态顺序表
- List:带头双向循环链表
- Deque:双端队列
- Stack:栈
- Queue:优先级队列
- Priority_queue:优先级队列
C++11:
- array:静态顺序表
- Forward_list:带头循环单列表
2.算法:
- 与数据结构相关算法(容器中的成员函数)
- 通用类型算法(泛型函数)
3.迭代器:让算法透明化(算法不用关心容器的底层结构)的操作容器的数据。(算法与容器的中间介质)
4.适配器:对其他结构的一种封装
5.仿函数(函数对象):像函数调用一样的对象
作用:定制函数的功能/使函数功能更加灵活
6.空间配置器:申请+释放+管理空间