C++ std swap(multiset)

30 Aug 2024 | 3 分钟阅读

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

语法

参数

x:第一个 multiset 对象。

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

返回值

复杂度

常量。

迭代器有效性

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

请注意,end 迭代器不指向元素,可能会失效。

数据竞争

容器 x 和 y 都被修改。

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

异常安全

此函数不抛出异常。

示例 1

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

输出

Multiset contains following elements
a
b
b
d

在上面的例子中,multiset m1 有五个元素,m2 为空。当您将 m1 交换到 m2 时,m1 的所有元素都交换到 m2。

示例 2

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

输出

multiset1 contains:
110
220
330
multiset2 contains:
100
100
200

在上面的例子中,两个 multiset(即 multiset1 和 multiset2)的内容相互交换。

示例 3

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

输出

first contains: 17 17 20
second contains: 10 12 75

示例 4

让我们看一个简单的例子

输出

Exchange m1 and m2.
Contents of m2: 
  100
  100
  300

Contents of m1: 

m1 is now empty.

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

下一个主题C++ multiset