Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

unordered_multimap::swap

公众成员函数  <unordered_map>
void swap ( unordered_multimap& umm );

交换容器

umm的内容交换容器的内容,umm是另一个unordered_multimap对象,它包含相同类型的元素。大小可能不同。

在调用这个成员函数之后,这个容器中的元素就是调用之前umm中的元素, 而umm中的元素就是这个容器中的元素。容器内部保存的其他对象(例如它们的hasherkey_equal对象)也会交换。

这个函数在容器之间交换指向数据的内部指针,而不实际地对单个元素执行任何复制或移动操作, 因此不管大小如何,执行时间都是固定的。

注意,存在一个同名的全局算法函数swap。这个全局函数为unordered_multimap类型的参数重载, 使其具有与该成员函数相同的行为和复杂性。

☲  参数


umm
与此类型相同的另一个unordered_multimap容器对象。

☉  返回值



none

☣  示例



// unordered_multimap::swap
#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_multimap<std::string,std::string>
     a = {{"orange","FL"},{"apple","NY"},{"apple","WA"}},
     b  = {{"strawberry","LA"},{"strawberry","NC"},{"pear","OR"}};

  a.swap(b);

  std::cout << "a: ";
  for (auto& x: a) std::cout << " " << x.first << ":" << x.second;
  std::cout << std::endl;

  std::cout << "b: ";
  for (auto& x: b) std::cout << " " << x.first << ":" << x.second;
  std::cout << std::endl;

  return 0;
}

输出:
a: pear:OR strawberry:LA strawberry:NC
b: orange:FL apple:NY apple:WA

✥ 复杂度



常量

☣ 迭代器的有效性



所有指向两个容器中元素的迭代器、指针和引用仍然有效,但现在它们指向另一个容器中的元素,并在其中迭代.

🍄  另请参阅



swap (unordered_multimap) 交换两个unordered_multimap的内容(函数模板)
swap 交换两个对象的值(函数模板)
swap_ranges 交换两个范围的值(函数模板)

联系我们 免责声明 关于CandCplus 网站地图