<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 的代码示例。