C++ Library - <unordered_set>
介绍 (Introduction)
它是一个关联容器,它以无特定顺序存储唯一元素,并允许根据其值快速检索单个元素。
定义 (Definition)
下面是std :: unordered_set的定义
template < class Key,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator<Key>
> class unordered_set;
参数 (Parameters)
Key - 它定义元素的类型。
Hash - 它是一个一元函数对象。
Pred - 它是一个二元谓词,它接受两个与元素相同类型的参数并返回一个bool。
Alloc - 它定义了allowcater的类型。
成员类型 (Member types)
以下成员类型可以用作参数或按成员函数返回类型。
会员类型 | 定义 | 笔记 |
---|---|---|
key_type | 它是第一个模板参数( Key ) | |
value_type | 它是第一个模板参数( Key ) | 与key_type相同 |
hasher | 它是第二个模板参数( Hash ) | 默认为: hash <key_type> |
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相同 |
Member 函数
以下是成员函数列表
Sr.No. | 方法和描述 |
---|---|
1 | (constructor) 它构造unordered_set。 |
2 | (destructor) 它破坏了unordered_set。 |
3 | operator= 它用于分配内容。 |
Capacity
Sr.No. | 容量和描述 |
---|---|
1 | empty 它用于测试容器是否为空。 |
2 | size 它返回容器大小。 |
3 | max_size 它返回最大尺寸。 |
Iterators
Sr.No. | 迭代器和描述 |
---|---|
1 | begin 它将迭代器返回到开头。 |
2 | end 它将迭代器返回到end。 |
3 | cbegin 它将const_iterator返回到开头。 |
4 | cend 它返回const_iterator结束。 |
元素查找
Sr.No. | 元素查找和描述 |
---|---|
1 | find 它用于获取元素的迭代器。 |
2 | count 它用于计算具有特定键的元素。 |
3 | equal_range 它用于获取具有特定键的元素范围。 |
修饰符 Modifiers
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 它提出了对支持容量变化的请求 |
观察者Observers
Sr.No. | 观察员和描述 |
---|---|
1 | hash_function 它用于获取哈希函数。 |
2 | key_eq 它用于获取关键等价谓词。 |
3 | get_allocator 它用于获取分配器。 |
Sr.No. | 非成员函数重载和描述 |
---|---|
1 | operators (unordered_set) 它用于获取哈希函数。 |
2 | swap(unordered_set) 它交换两个unordered_set容器的内容。 |
预定义的迭代器
Sr.No. | 非成员函数重载和描述 |
---|---|
1 | operators (unordered_set) 它用于获取哈希函数。 |
2 | swap(unordered_set) 它交换两个unordered_set容器的内容。 |