Cpp Standard Library 简明教程
C++ Library - <unordered_set>
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
以下成员类型可作为参数或返回类型,由成员函数使用。
Member Type |
Definition |
Notes |
key_type |
它是第一个模板参数 (Key) |
|
value_type |
它是第一个模板参数 (Key) |
The same as key_type |
hasher |
它是第二个模板参数 (Hash) |
defaults to: hash<key_type> |
key_equal |
它是第三个模板参数 (Pred) |
defaults to: equal_to<key_type> |
allocator_type |
它是第四个模板参数 (Alloc) |
defaults to: 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 的正向迭代器 |
* convertible to const_iterator |
const_iterator |
一个指向 const value_type 的正向迭代器 |
* |
local_iterator |
一个指向 const value_type 的正向迭代器 |
* convertible to const_local_iterator |
const_local_iterator |
一个指向 const value_type 的正向迭代器 |
* |
size_type |
an unsigned integral type |
通常与 size_t 相同 |
difference_type |
a signed integral type |
通常与 ptrdiff_t 相同 |
Member functions
下面列出成员函数
Sr.No. |
Method & Description |
[role="bare"]../cpp_standard_library/cpp_unordered_set_equal_operator.html用于分配内容。 |
Capacity
Sr.No. |
Capacity & Description |
1 |
empty 用于测试容器是否为空。 |
2 |
size It returns container size. |
3 |
max_size It returns maximum size. |
Iterators
Sr.No. |
Iterators & Description |
1 |
begin 返回指向开头的迭代器。 |
2 |
end 返回指向结尾的迭代器。 |
3 |
cbegin 返回指向开头的 const_iterator。 |
4 |
cend 返回指向结尾的 const_iterator。 |
Element lookup
Sr.No. |
Element lookup & Description |
1 |
find 用于获取指向元素的迭代器。 |
2 |
count 用于计算具有特定键值的元素个数。 |
3 |
equal_range 用于获取具有特定键值的元素范围。 |
Modifiers
Sr.No. |
Modifiers & Description |
1 |
emplace 用于构造并插入元素。 |
2 |
emplace_hint 用于构造并使用提示插入元素。 |
3 |
insert 用于插入元素。 |
4 |
erase 用于擦除元素。 |
5 |
clear 用于清除内容。 |
6 |
swap 用于交换内容。 |
Buckets
Sr.No. |
Buckets & Description |
1 |
bucket_count 返回桶的数量。 |
2 |
max_bucket_count 返回最大桶数量。 |
3 |
bucket_size It returns bucket size. |
4 |
bucket It locates element’s bucket. |
Hash policy
Sr.No. |
Hash policy & Description |
1 |
load_factor 它返回负载因子。 |
2 |
max_load_factor 它用于获取或设置最大负载因子。 |
3 |
rehash 它用于设置存储桶的数量。 |
4 |
reserve 它发出存储桶容量更改的请求 |
Observers
Sr.No. |
Observers & Description |
1 |
hash_function 它用于获取哈希函数。 |
2 |
key_eq 它用于获取键等价谓词。 |
3 |
get_allocator 它用于获取分配器。 |
Non-member overloaded functions
Sr.No. |
非成员函数重载及说明 |
1 |
operator== 测试两个映射是否相等。 |
2 |
operator!= 测试两个映射是否相等。 |
3 |
swap 它交换两个 unordered_set 容器的内容。 |