目录

C++ Library - <set>

介绍 (Introduction)

set是一个关联容器,它包含一组有序的Key类型的唯一对象。 每个元素只能出现一次,因此不允许重复。

有四种关联容器:set,multiset,map和multimap。

集合中元素的值不能在容器中修改一次,即元素总是const。 但是它们可以插入容器或从容器中取出。

set容器在按键访问单个元素时通常比unordered_set容器慢,但它们允许根据子集的顺序直接迭代子集。

定义 (Definition)

下面是头文件中std :: set的定义

template < 
    class Key,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<Key>
> class set;

参数 (Parameters)

  • Key - 包含的元素的类型。

    密钥可以由任何其他数据类型替换,包括用户定义的类型。

成员类型 (Member types)

以下成员类型可以用作参数或按成员函数返回类型。

Sr.No. 会员类型 定义
1key_typeKey
2value_typeKey
3reference 分配器::参考

值类型&

4const_reference 分配器::为const_reference

const value_type&

5pointer 分配器::指针

的std :: allocator_traits ::指针

6const_pointerAllocator::const_pointer

std::allocator_traits<Allocator>::const_pointer

7iteratorBidirectionalIterator
8const_iterator 常量BidirectionalIterator
9reverse_iteratorstd::reverse_iterator <iterator>
10const_reverse_iteratorstd::reverse_iterator <const_iterator>
11size_type 无符号整数类型(std :: size_t)
12difference_type 签名整数类型(std :: ptrdiff_t)
13key_compareCompare
14value_compareCompare
15allocator_typeAllocator

来自的函数

以下是标头中所有方法的列表。

会员职能

DEFAULT MEMBER FUNCTIONS

Sr.No. 方法和描述
1 默认构造函数

构造set容器。

2 范围构造函数

构造具有范围内容的set容器。

3 复制构造函数

使用其他set的副本构造set容器。

4 移动构造函数

使用move语义使用其他set的内容构造set容器。

5 Initializer-list构造函数

使用inializer列表的内容构造set容器。

6 (destructor)

破坏集合容器。

7 operator=

将值分配给集合容器。

迭代器

Sr.No. 方法和描述
1 set::begin

将迭代器返回到开头。

2 set::cbegin

将const迭代器返回到开头。

3 set::end

返回结束的迭代器。

4 set::cend

返回结束的const迭代器。

5 set::rbegin

返回反向迭代器以反向开始。

6 set::crbegin

返回const反向迭代器以反向开始。

7 set::rend

返回反向结束的反向迭代器。

8 set::crend

返回const反向迭代器以反向结束。

容量

Sr.No. 方法和描述
1 set::empty

返回设置容器为空时。

2 set::size

返回set容器中的元素数。

3 set::max_size

返回set容器可容纳的最大元素数。

MODIFIERS

Sr.No. 方法和描述
1 set::clear

从集合容器中删除所有元素。

2 set::insert

在set容器中插入新元素。

3 set::emplace

如果它是唯一的,则在集合中插入新元素。

4 set::emplace_hint

如果它是唯一的,则在集合中插入新元素,并在插入位置上添加提示。

5 set::erase

从集合容器中删除单个元素或一系列元素。

6 set::swap

通过相同类型的另一个集合容器的内容交换容器的内容。

LOOKUP

Sr.No. 方法和描述
1 set::count

返回set容器中具有匹配值的元素数。

2 set::find

在set容器中搜索value,如果找到则返回一个迭代器,否则返回一个迭代器到set :: end。

3 set::lower_bound

返回指向set容器中第一个元素的迭代器,该元素不被视为在value之前。

4 set::upper_bound

返回一个迭代器,指向set容器中的第一个元素,该元素被认为是在值之后。

5 set::equal_range

返回包含集合容器中与value等效的所有元素的范围的边界。

观察者 OBSERVERS

Sr.No. 方法和描述
1 set::key_comp

返回set容器使用的比较对象的副本。

2 set::value_comp

返回set容器使用的比较对象的副本。

分配器(ALLOCATOR)

Sr.No. 方法和描述
1 set::get_allocator

返回与set容器关联的allocator对象的副本。

↑回到顶部↑
WIKI教程 @2018