📅  最后修改于: 2020-10-20 06:14:47             🧑  作者: Mango
C++ STL Multimap.交换(Multimap)
C++ swap(multimap)是C++中multimap的非成员函数。这用于交换(或交换)两个Multimap(即x和y)的内容,但是两个Multimap必须具有相同的类型,尽管大小可能有所不同。
句法
template
void swap (multimap& x, multimap& y);
参数
x:第一个Multimap对象。
y:相同类型的第二个Multimap对象。
返回值
没有
复杂度
不变。
迭代器有效性
引用两个容器中元素的所有迭代器,引用和指针均保持有效。
注意,结束迭代器不引用元素,并且可能无效。
数据竞争
容器x和y均被修改。
调用不包含任何包含的元素。
异常安全
此函数不会引发异常。
例子1
让我们看一下将一个Multimap的元素交换到另一个的简单示例:
#include
#include
输出:
Multimap contains following elements
a = 1
b = 2
b = 3
c = 4
e = 5
在上面的示例中,Multimapm1具有五个元素,而m2为空。当您将m1交换为m2时,m1的所有元素都将交换为m2。
例子2
让我们看一个简单的示例来交换两个Multimap的内容:
#include
#include
输出:
multimap1 contains:
a => 110
c => 220
c => 330
multimap2 contains:
x => 100
y => 200
在上面的示例中,两个Multimap(即multimap1和multimap2)的内容相互交换。
例子3
让我们看一个简单的示例,以交换两个Multimap的内容:
#include
#include
输出:
m1 : {[5,d], [15,e], }
m2 : {[10,a], [10,c], [20,b], }
例子4
让我们看一个简单的例子:
#include
#include
#include
输出:
Exchange m1 and m2.
Contents of m2:
A, 100
B, 200
G, 300
Contents of m1:
m1 is now empty.
在上面的示例中,将Multimapm1的内容交换到Multimapm2,并且在清除了交换m1后,Multimap已被清除。