Cpp Standard Library 简明教程

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

  1. Key − 它定义元素类型。

  2. Hash − 它是一个一元函数对象。

  3. Pred − 它是一个二元谓词,它接收两个与元素类型相同的参数,并返回一个 bool。

  4. 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 容器的内容。