C++ Stl杂项
迭代器特性

输入流的容器特性

迭代器对算法的影响

仿函数和函数对象

分配器

对于平常的我们内存的使用,直接使用new delete 即可 使用分配器的话还需要记住自己当时申请了多少的内存 很不方便
哈希表深度探索
哈希容器

哈希表在扩充时,会先将自身大小乘以2 然后在选择自身2倍距离最近的一个质数 作为新的大小
哈希函数

以哈希表为底层支撑的适配器

红黑树

容器
list容器

forward_list

对于标准库,其本身提供一个sort排序函数,但某些容器也提供sort服务,这个时候优先使用容器本身提供的,因为容器本身提供的sort是根据容器本身特性编写的
这里之所以有的容器使用全局sort 而有的容器自带sort的原因是 自带sort的容器不是随机访问的数组 其不能够满足全局sort访问容器空间中电动请求
slist

使用时,须注意怎样将起包含进程序文件 看上面图片中的代码第一行
deque

每次扩充都是一个buffer
vector

我们知道vector是动态扩充的数组,其每次内存不够的时候,都会以两倍来扩充
stack

multiset

multimap

unordered_map


深度探索list



array forward_list深度探索


bind 与 bind2nd




deque queue stack深度探索
deque是分段连续的一种容器 连续是一种假象 分段是事实 当每次++ --的时候 迭代器就会去检查是否到达边界 如果抵达当前的分段的边界之后 就自动进入下一个分段中


deque4.9版本之后 不可自己手动修改buffer的大小 而是默认512/每个数据的大小

queue和stack其底层容器都是queue 只是关闭了deque的一些功能

iterator 与 traits
为什么要使用traits,为了防止传入的是指针 指针无法回答算法需要知道的问题


map multimap


reverse-iterator

set mulitiset


算法源码
acculmulate

for_each

replace replace_if replace_copy

count count_if

find find_if

sort

reverse iterator

vector深度探索


