概述
<aside>
💡
set与multiset以红黑树为底层结构
</aside>
- set/multiset以红黑树为底层结构,所以有元素自动排序的特性
- set/multiset元素的value和key合一,元素的value就是key
- set/multiset提供遍历操作与iterator
- 元素的排序顺序即遍历顺序
- 不能通过iterator来修改元素的value(通过const_iterator从编程层面禁止)
set

三个模板参数
Key
:key/value的类型
Compare
:定义比较规则的仿函数,默认使用less<Key>
Alloc
:分配器
一个成员变量
迭代器
- 迭代器为const_iterator,所以无法通过迭代器修改元素的值
set的所有操作都转交底层的红黑树实现
- 插入的底层操作是调用红黑树的
insert_unique()