- queue[meta header]
- std[meta namespace]
- priority_queue[meta class]
- function[meta id-type]
- cpp11[meta cpp]
void swap(priority_queue& q)
noexcept(noexcept(swap(c, q.c)) && noexcept(swap(comp, q.comp))); // (1) C++11
constexpr void swap(priority_queue& q)
noexcept(noexcept(swap(c, q.c)) && noexcept(swap(comp, q.comp))); // (1) C++26他のpriority_queueオブジェクトと値を入れ替える。
using std::swap;
swap(c, q.c);
swap(comp, q.comp);なし
swap(c, q.c) および swap(comp, q.comp) が例外を投げない場合、この関数は決して例外を投げない。
#include <iostream>
#include <queue>
template <class PriorityQueue>
void pop_print(PriorityQueue& que)
{
while (!que.empty()) {
std::cout << que.top() << " ";
que.pop();
}
std::cout << std::endl;
}
int main ()
{
std::priority_queue<int> x;
x.push(1);
x.push(2);
x.push(3);
std::priority_queue<int> y;
y.push(4);
y.push(5);
y.push(6);
x.swap(y);
pop_print(x);
pop_print(y);
}- swap[color ff0000]
- push[link push.md]
- que.empty()[link empty.md]
- que.top()[link top.md]
- que.pop()[link pop.md]
6 5 4
3 2 1
- C++11
- Clang: ??
- GCC: 4.7.0 [mark verified]
- ICC: ??
- Visual C++: ??