一、STL的诞生
C++面向对象和泛型编程思想,目的就是复用性的提升
面向对象:封装、继承、多态
泛型编程:模板
.
二、STL基本概念
STL:标准模板库
STL:容器、算法、迭代器
容器和算法通过迭代器无缝连接
STL:类模板或者函数模板
.
三、STL六大组件
STL六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器
仿函数:可以算做算法的某种策略(重载())
适配器:修饰容器、仿函数、迭代器接口的东西
空间配置器:负责空间的配置与管理
.
四、STL容器,算法,迭代器
1、容器
容器:将运用最广泛的数据结构实现出来
数据结构:数组、链表、树、栈、队列、集合、映射表。。
序列式容器:(类似数组),强调值得排序,每个元素都要固定的位置
关联式容器:二叉树结构、各元素之间没有物理上的顺序关系(拍好序了)
2、算法
质变算法:更改元素内容(替换、删除)
非质变算法:不会更改元素内容(查找、遍历)
3、迭代器
迭代器类似指针
提供一种方法,使的能遍历容器,又不会暴露容器内部表示方法
每个容器都有自己的迭代器