C++ STL中的unordered_set swap()
在C++ STL中,unordered_set
是一个无序不重复的关联容器。与其他容器一样,unordered_set
也有swap()
函数,用于交换两个容器中的元素。本文将介绍unordered_set swap()
函数的用法和示例代码。
语法
unordered_set swap()
函数的语法如下:
void swap(unordered_set& s) noexcept;
参数S
是一个要与调用对象交换元素的unordered_set
对象的引用。noexcept
指示此函数不会抛出异常。
示例代码
下面是一个使用swap()
函数交换两个unordered_set
对象的示例代码:
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
// 第一个集合
unordered_set<string> s1 {"apple", "banana", "orange"};
// 第二个集合
unordered_set<string> s2 {"pear", "grape", "peach"};
// 输出交换前的两个集合的元素
cout << "Before swapping:\n";
for (string s : s1)
cout << s << " ";
cout << endl;
for (string s : s2)
cout << s << " ";
cout << endl;
// 使用swap()函数交换两个集合
s1.swap(s2);
// 输出交换后的两个集合的元素
cout << "After swapping:\n";
for (string s : s1)
cout << s << " ";
cout << endl;
for (string s : s2)
cout << s << " ";
cout << endl;
return 0;
}
运行此程序,输出应该如下:
Before swapping:
banana orange apple
grape pear peach
After swapping:
grape pear peach
banana orange apple
解释示例代码
这个示例程序演示了如何使用unordered_set swap()
交换两个unordered_set
对象。 在此示例中,我们首先创建了两个unordered_set
对象s1
和s2
。然后,我们输出这两个集合的元素,使用swap()
交换这两个集合,最后再次输出这两个集合的元素。
结论
unordered_set swap()
函数可以用于交换两个无序不重复的关联容器中的元素。它的语法很简单,只需传递另一个unordered_set
对象的引用作为参数。使用swap()
函数时,两个容器中的元素将被交换。