C++ std swap()

30 Aug 2024 | 3 分钟阅读

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

语法

参数

x:第一个 set 对象。

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

返回值

复杂度

常量。

迭代器有效性

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

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

数据竞争

容器 x 和 y 都被修改。

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

异常安全

此函数不抛出异常。

示例 1

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

输出

Set contains following elements
a
b
c
d

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

示例 2

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

输出

set1 contains:
110
220
330
set2 contains:
100
200

在上面的例子中,两个 set(即 set1 和 set2)的内容相互交换。

示例 3

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

输出

first contains: 20 25 32
second contains: 10 12 75

示例 4

让我们看一个简单的例子

输出

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

Contents of m1: 

m1 is now empty.

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


下一主题C++ Set