顺序容器有以下三种:可变长动态数组 vector、栈stack、双端队列 deque、双向链表 list。
关联容器有以下四种:set、multiset、map、multimap。
迭代器vector<typename>::iterator //auto获取
for_each(Iterator beg, Iterator end, Function f) {
while(beg != end)
f(*beg++);
}
.size()
.empty()
vector<int> vec(5,0) //vector,list初始化
.reserve(n) //预留大小
.push_front/emplace_front
.push_back/emplace_back
.pop_front/pop_back
.insert(iter,val) //当前迭代器失效,返回插入元素的位置
.erase(iter) //当前迭代器失效,返回迭代器的下一个位置,继续使用需要iter=.erase(iter)
.rbegin(),.rend() //反向迭代器
list没有下标操作,不能索引元素,必须遍历


stack
.push() //入栈
.top() //返回栈顶元素
.pop() //出栈,删除栈顶元素
queue
.push() //入队
.pop() //出队
.front() //访问队首
.back() //访问队尾
int a[3] = {1,3,5};
set<int> setc(a,a+3); //用数组a初始化一个set;
setc.insert(2); //默认按从小到大顺序,元素不能重复
map
mp.insert(make_pair("d",10));
mp.emplace("d",10);

string
没有结束符\0

