Skip to content

Latest commit

 

History

History
92 lines (72 loc) · 1.6 KB

File metadata and controls

92 lines (72 loc) · 1.6 KB

swap

  • 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

処理系

参照