¶
C++标准库 STL
¶
基本介绍
¶
标准库
C++库中90%都是STL,而大部分STL内容都是模板
¶
容器
能够存数的数据结构类型都可以理解成容器,如vector,array等
¶
迭代器
¶
STL 容器
¶
所有STL容器都提供了基本方法
size()
swap()
begin()
end()
¶
迭代器 itor
是一个广义指针,也可以执行类似指针的操作。
声明:Container::iterator p;
¶
std::unordered_map
一个无序的map容器,键值对存储数据
key不允许相同,且,不允许被修改
底层是哈希表存储结构,不具有排序功能
¶
std::map
有序的map容器,键值对存储数据
key不允许相同,也不允许修改
底层是红黑树结构,因此支持排序功能
¶
set::multimap
有序的map容器,键值对存储数据
key允许相同,但不允许修改
底层是红黑树结构,支持排序功能
与map不同,multimap的值为pair(键, 值),因此只要值不同,pair就不相同,就能插入
mulm._M_insert_equal(make_pair(2,"abc"))
¶
std::unordered_set
无序的set容器
不再以键值对的形式存储数据,而是直接存储数据的值
容器内部存储的各个元素的值都互不相等,且不能被修改
¶
迭代器
¶
迭代器类型
输入迭代器
输出迭代器
正向迭代器
双向迭代器
随机访问迭代器