1.STL的六大组件
(1)容器(2)分配器(3)算法(4)迭代器(5)适配器(6)仿函数
仿函数用于提供算法;算法通过迭代器(泛化指针)处理容器中的数据;
2.分配器与容器的使用:vector>其中vector为容器,alloctor为分配器
3.迭代器在容器内的区间为前闭后开区间容器.begin()为第一个元素,容器.end()为最后一个元素之后的一个元素
4.关键字auto用于自动匹配变量的类型,只用于C++11的特性
5.容器的分类:
(1)序列式容器:按照放入数据的顺序进行排列
Array数组(大小固定),Vector向量(动态数组,尾部分配器自动扩充内存),Deque(双向队列,两端均可以扩充)List(双向列表),Forward-List(单项列表)
(2)关联式容器
Set/Multiset(红黑树实现 ),Map/Multimap(红黑树实现)Mul-表示数据可以重复(3)(unordered container)不定序(通过哈希表来实现)Unordered Set/MultisetUnordered Map/Multimap6.Array的用法:array(ASIZE为所分配空间的大小)
注:用到一个变量再声明一个变量
7.Vector的用法:
V.push_back()从尾部放入数据
其空间的增长为二的指数式增长
V.capacity()当前vector的容量大小
push_back()容易分配不到内存而报错
V.data()为第一个数据的地址位置