C++官网参考链接:https://cplusplus.com/reference/queue/queue/swap-free/
公有成员函数
<queue>
std::swap (queue)
template <class T, class Container> void swap (queue<T,Container>& x, queue<T,Container>& y) noexcept(noexcept(x.swap(y)));
交换队列的内容
交换x和y的内容。
形参
x, y
相同类型的queue容器。大小可能不同。
返回值
没有返回值。
用例
// swap queues
#include <iostream> // std::cout
#include <queue> // std::queue, std::swap(queue)
int main ()
{
std::queue<int> foo,bar;
foo.push (10); foo.push(20); foo.push(30);
bar.push (111); bar.push(222);
swap(foo,bar);
std::cout << "size of foo: " << foo.size() << '\n';
std::cout << "size of bar: " << bar.size() << '\n';
return 0;
}
输出:
size of foo: 2
size of bar: 3
复杂度
常量。
数据竞争
容器适配器x和y都进行了修改。
异常安全
提供与在底层容器对象上执行的操作相同级别的保证。