📅  最后修改于: 2020-10-20 06:01:37             🧑  作者: Mango
C++ STL Multimap.swap()函数
C++ multimap swap()函数用于交换(或交换)两个Multimap的内容,但是两个Multimap的类型必须相同,尽管大小可能有所不同。
句法
参数
x:用于交换内容的Multimap容器。
返回值
没有
复杂度
不变。
迭代器有效性
引用两个容器中的元素的所有迭代器,引用和指针均保持有效,但是现在引用另一个容器中的元素并在其中进行迭代。
数据竞争
容器和x均被修改。
异常安全
如果抛出异常,则对容器没有影响。
例子1
让我们看一下将一个Multimap的元素交换到另一个的简单示例:
#include
#include
输出:
Multimap m2 contains following elements
a = 1
b = 2
b = 4
c = 3
c = 5
在上面的示例中,Multimapm1具有五个元素,而m2为空。当您将m1交换为m2时,m1的所有元素都将交换为m2。
例子2
让我们看一个简单的示例来交换两个Multimap的内容:
#include
#include
输出:
multimap1 contains:
a => 110
a => 330
b => 220
multimap2 contains:
x => 100
x => 200
在上面的示例中,两个Multimap(即multimap1和multimap2)的内容相互交换。
例子3
让我们看一个简单的示例,以交换两个Multimap的内容:
#include
#include
输出:
multimap1:
KEY ELEMENT
1 x
2 y
2 z
multimap2:
KEY ELEMENT
1 a
2 b
2 c
4 d
在上面的示例中,另一种形式的swap()函数用于交换两个Multimap的内容。
例子4
让我们看一个简单的例子:
#include
#include
#include
输出:
Exchange m1 and m2.
Contents of m2:
A, 100
B, 300
B, 200
Contents of m1:
m1 is now empty.
在上面的示例中,将Multimapm1的内容交换到Multimapm2,并且在清除了交换m1后,Multimap已被清除。