概述:STL standard template library 标准模板库=container+generic algorithm(容器+泛型算法)
container:顺序容器:vector List deque关联容器:map set
泛型算法核心:iterator 泛型指针
1:容器小知识
vector可以为空,array不行
2:泛型算法小知识
Iterator获得: container.begin(); 首元素地址
container.end();末尾元素的下一个地址
3:容器共通操作
equality inequality assignment empty size clear begin end insert erase
4:顺序容器 vector list deque
vector:适合表达数列,随机查找,不适合插入和删除
list:双向指针,适合插入和删除,不适合随机查找
deque和vector存储形式类似,但适合首尾插入和删除
push_back(),pop_back(),list和deque还有pop_front和push_front操作(PS:pop没有返回值)
erase返回最后一个删除元素的下一个元素
list并不支持iterator的偏移运算
5:泛型算法 头文件 #include<algorithm>
find(),搜索无序集合,找到返回iterator,否则返回last
binary_search()搜索有序集合,返回bool
count(),返回元素个数
search(),是否存在某个子序列,true返回子序列起始,false返回容器末尾iterator
6:function object #include<functional>
6个算术运算:plus<type>,minus<type>,multiplies,divides,modules
6个关系运算:less,less_equal,greater,greater_equal,equal_to,not_equal_to
3个逻辑运算:logical_and,logical_or,logical_not
7:function object adapter
bind1st ,bind2nd 指定值绑定第一或第二操作数