简介
它是一个关联容器,可以按特定顺序存储唯一元素,并允许根据元素的值快速检索单个元素.
定义
下面是std :: unordered_set的定义
template < class Key, class Hash = hash, class Pred = equal_to , class Alloc = allocator > class unordered_set;
参数
Key : 它定义了元素的类型.
哈希 : 它是一个一元函数对象.
Pred : 它是一个二元谓词,它接受两个与元素相同类型的参数并返回一个bool.
Alloc : 它定义了allowcater的类型.
成员类型
以下成员类型可用作参数或按成员函数返回类型.
$ b相同$ b
成员类型 | 定义 | notes |
---|---|---|
key_type | 这是第一个模板参数( Key ) | |
value_type | 这是第一个模板参数(键) | 与 key_type |
hasher | 这是第二个模板参数( Hash ) | 默认为: |
key_equal | 这是第三个模板参数( Pred ) | 默认为: equal_to< key_type> |
allocator_type | 这是第四个模板参数( Alloc ) | 默认为: allocator< value_type> |
reference | Alloc :: reference | |
const_reference | Alloc :: const_reference | |
pointer | Alloc :: pointer | 默认分配器: value_type * |
const_pointer | Alloc :: const_pointer | 默认分配器: const value_type * |
iterator | const value_type的转发迭代器 | *可转换为 const_iterator |
const_iterator | const value_type的转发迭代器 | |
local_iterator | const value_type的转发迭代器 | *可转换为 const_local_iterator |
const_local_iterator | const value_type的转发迭代器 | |
size_type | 无符号整数类型 | 通常与size_t相同 |
difference_type | 有符号整数类型 | 通常与ptrdiff_t相同 |
成员函数
下面是成员函数列表
容量
Sr.No. | 方法和说明 |
---|---|
1 | (构造函数) 它构造unordered_set. |
2 | (析构函数) 它会破坏unordered_set. |
3 | operator = 用于分配内容. |
迭代器
Sr.No. | Iterators&说明 |
---|---|
1 | begin 它将迭代器返回到开头. |
2 | end 它将迭代器返回到结束. |
3 | cbegin 它将const_iterator返回到开头. |
4 | cend 它返回const_iterator结束. |
元素查找
Sr.No. | 元素查找&说明 |
---|---|
1 | find 它用于获取元素的迭代器. |
2 | count 它用于计算具有特定键的元素. |
3 | equal_range 它是用于获取具有特定键的元素范围. |
修饰符
Sr.No. | 修饰符&说明 |
---|---|
1 | emplace 它用于构造和插入元素. |
2 | emplace_hint 它用于构造和插入带有提示的元素. |
3 | insert 它是用于插入元素. |
4 | erase 用于擦除元素. |
5 | clear 它用于清除内容. |
6 | swap 用于交换内容. |
Buckets
Sr.No. | 铲斗&说明 |
---|---|
1 | bucket_count 它返回桶数. |
2 | max_bucket_count 它返回最大桶数. |
3 | bucket_size 它返回桶大小. |
4 | bucket 它定位元素的存储桶. |
哈希策略
Sr.No. | 哈希策略&说明 |
---|---|
1 | load_factor 它返回加载因子. |
2 | max_load_factor 它用于获取或设置最大载荷因子. |
3 | rehash 它是用于设置桶数. |
4 | reserve 它提出了对支持容量的请求 |
观察员
Sr.No. | 观察员&说明 |
---|---|
1 | hash_function 它用于获取哈希函数. |
2 | key_eq 它用于获取关键等价谓词. |
3 | get_allocator It用于获取分配器. |
Sr.No. | 非成员函数重载&说明 |
---|---|
1 | operators (unordered_set) 它用于获取哈希函数. |
2 | swap(unordered_set) 它交换两个unordered_set容器的内容. |
预定义迭代器
Sr.No . | 非成员函数重载&说明 |
---|---|
1 | operators (unordered_set) 它用于获取哈希函数. |
2 | swap(unordered_set) 它交换两个unordered_set容器的内容. |