使用C11新增的区间循环配合auto让容器迭代写起来更方便:
STL的容器可以分为三大类, 定义在同名头文件:
序列型容器: 数组或链表实现的列表, 数据组织紧凑
关联型容器: 红黑树实现的set和...可重复的集合, 理解为value与key相同的map
关联型 map 红黑树 1. 不允许重复, 插入重复数据会报错, 可以使用下标插入法x[key]=value
关联型 set 红黑树 1....红黑树的模板参数中给出了一个仿函数KeyOfValue是用来让在下面的set中可以放心使用value作为key, 让我们从value中取出key....STL禁止我们使用set的迭代器来改变元素的值, 因为set的value和key是一体的. 但是允许我们用迭代器改变map的value, 因为map排序基于key....容器: unordered
unordered类是在C11的时候从hash类改名过来的, 这一组容器都使用散列表实现, C++中使用了如上图的非开放式散列表来处理.