<hash_set> 函数

swap
swap (hash_multiset)

swap

注意

此 API 已废弃不用。 替代项为 unordered_set 类

交换两个 hash_set 的元素。

void swap(
    hash_set <Key, Traits, Allocator>& left,
    hash_set <Key, Traits, Allocator>& right);

参数

right
提供要交换的元素的 hash_set 或其元素要与 hash_set left 的元素进行交换的 hash_set。

left
其元素将与 hash_set right 的元素进行交换的 hash_set。

注解

swap 模板函数是容器类 hash_set 上专用化的算法,用于执行成员函数 left.swap(right)。 这是由编译器进行的函数模板偏序实例。 模板函数以此种方式重载时,模板与函数调用的匹配并不唯一,随后编译器会选择此模板函数的最专用化版本。 模板函数的通用版本

template <class T> void swap(T&, T&),

在此算法中,类按赋值进行工作,这是一种慢速操作。 每个容器中的专用化版本速度快很多,因为专用化版本可适用于容器类的内部表示形式。

示例

有关使用 swap 的模板版本的示例,请参阅成员类 hash_set::swap 的代码示例。

swap (hash_multiset)

注意

此 API 已废弃不用。 替代项为 unordered_set 类

交换两个 hash_multiset 的元素。

void swap(hash_multiset <Key, Traits, Allocator>& left, hash_multiset <Key, Traits, Allocator>& right);

参数

right
提供要交换的元素的 hash_multiset 或其元素要与 hash_multiset left 的元素进行交换的 hash_multiset。

left
其元素将与 hash_multiset right 的元素进行交换的 hash_multiset。

备注

swap 模板函数是容器类 hash_multiset 上专用化的算法,用于执行成员函数 left.swap(right)。 这是由编译器进行的函数模板偏序实例。 模板函数以此种方式重载时,模板与函数调用的匹配并不唯一,随后编译器会选择此模板函数的最专用化版本。 模板函数的通用版本

template <class T> void swap(T&, T&),

在此算法中,类按赋值进行工作,这是一种慢速操作。 每个容器中的专用化版本速度快很多,因为专用化版本可适用于容器类的内部表示形式。

示例

有关使用 swap 的模板版本的示例,请参阅成员类 hash_multiset::swap 的代码示例。

另请参阅

<hash_set>