C++ multimap swap(multimap)

2025年1月9日 | 3分钟阅读

C++ swap(multimap) 是 C++ 中 multimap 的一个非成员函数。它用于交换(或互换)两个 multimap(即 x 和 y)的内容,但这两个 multimap 必须是相同类型,尽管大小可以不同。

语法

参数

x:第一个 multimap 对象。

y:相同类型的第二个 multimap 对象。

返回值

复杂度

常量。

迭代器有效性

引用两个容器中元素的迭代器、引用和指针仍然有效。

请注意,末尾迭代器不引用元素,可能会失效。

数据竞争

容器 x 和 y 都被修改。

调用不访问任何包含的元素。

异常安全

此函数不抛出异常。


示例 1

让我们看一个简单的例子来交换一个 multimap 的元素到另一个

输出

Multimap contains following elements
a = 1
b = 2
b = 3
c = 4
e = 5

在上面的例子中,multimap m1 有五个元素,m2 是空的。当你将 m1 交换到 m2 时,m1 的所有元素都被交换到 m2。

示例 2

让我们看一个简单的例子来交换两个 multimap 的内容

输出

multimap1 contains:
a => 110
c => 220
c => 330

multimap2 contains:
x => 100
y => 200

在上面的例子中,两个 multimap(即 multimap1 和 multimap2)的内容相互交换。

示例 3

让我们看一个简单的例子来交换两个 multimap 的内容

输出

m1 : {[5,d], [15,e], }
m2 : {[10,a], [10,c], [20,b], }

示例 4

让我们看一个简单的例子

输出

Exchange m1 and m2.
Contents of m2: 
  A, 100
  B, 200
  G, 300

Contents of m1: 
m1 is now empty.

在上面的例子中,multimap m1 的内容被交换到 multimap m2,交换后 m1 multimap 已被清空。


下一个主题C++ Multimap