<map> 函数

swap (map)

交换两个映射的元素。

template <class key, class T, class _Pr, class _Alloc>
void swap(
    map<Key, Traits, Compare, Alloctor>& left,
    map<Key, Traits, Compare, Alloctor>& right);

参数

right
提供要交换的元素的映射,或其元素将与映射 left 的元素交换的映射

left
其元素将与映射 right 的元素进行交换的映射

备注

模板函数是专用于容器类映射的算法,用以执行成员函数 left swap( right)。 这是由编译器进行的函数模板偏序实例。 模板函数以此种方式重载时,模板与函数调用的匹配并不唯一,随后编译器会选择此模板函数的最专用化版本。 模板函数的通用版本,template< class T > void swap (T&,T&),在算法类中通过分配工作,并且是一个缓慢的操作。 每个容器中的专用化版本速度快很多,因为专用化版本可适用于容器类的内部表示形式。

示例

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

swap (multimap)

交换两个多重映射的元素。

template <class key, class T, class _Pr, class _Alloc>
void swap(
    multimap<Key, Traits, Compare, Alloctor>& left,
    multimap<Key, Traits, Compare, Alloctor>& right);

参数

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

left
其元素要与多重映射 right 的元素进行交换的多重映射

备注

模板函数是专用于容器类映射的算法,用以在容器类多重映射上执行成员函数 leftswap ( right)。 这是由编译器进行的函数模板偏序实例。 模板函数以此种方式重载时,模板与函数调用的匹配并不唯一,随后编译器会选择此模板函数的最专用化版本。 模板函数的通用版本,template< class T > void swap (T&,T&),在算法类中通过分配工作,并且是一个缓慢的操作。 每个容器中的专用化版本速度快很多,因为专用化版本可适用于容器类的内部表示形式。

示例

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