<set> 函数

swap (set)

交换两个集的元素。

template <class Key, class Traits, class Allocator>
void swap(set<Key, Traits, Allocator>& left, set<Key, Traits, Allocator>& right);

参数

right
提供了要交换的元素的集,或其元素要与集 left 的元素进行交换的集

left
其元素要与集 right 的元素进行交换的集。

备注

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

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

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

示例

有关使用 swap 模板函数的示例,请参阅成员类 set::swap 的代码示例。

swap (multiset)

交换两个多重集的元素。

template <class Key, class Traits, class Allocator>
void swap(multiset<Key, Traits, Allocator>& left, multiset<Key, Traits, Allocator>& right);

参数

right
多重集提供要交换的元素或其元素要与多重集 left 的元素进行交换的多重集

left
其元素将与多重集 right 的元素进行交换的多重集

备注

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

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

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

示例

有关使用 swap 的模板函数的示例,请参阅成员类 multiset::swap 的代码示例。