Skip to content

Latest commit

 

History

History
78 lines (62 loc) · 1.61 KB

File metadata and controls

78 lines (62 loc) · 1.61 KB

emplace

  • queue[meta header]
  • std[meta namespace]
  • priority_queue[meta class]
  • function template[meta id-type]
  • cpp11[meta cpp]
template <class... Args>
void emplace(Args&&... args);           // (1) C++11
template <class... Args>
constexpr void emplace(Args&&... args); // (1) C++26

概要

要素型Tのコンストラクタ引数をとり、直接構築でpriority_queueに要素を追加する。

効果

c.emplace_back(forward<Args>(args)...);
push_heap(c.begin(), c.end(), comp);
  • forward[link /reference/utility/forward.md]
  • push_heap[link /reference/algorithm/push_heap.md]

戻り値

なし

#include <iostream>
#include <queue>
#include <string>
#include <utility>

int main ()
{
  std::priority_queue<std::pair<int, std::string>> que;

  que.emplace(3, "aaa");
  que.emplace(1, "bbb");
  que.emplace(4, "ccc");

  while (!que.empty()) {
    std::cout << que.top().first << ", " << que.top().second << std::endl;
    que.pop();
  }
}
  • emplace[color ff0000]
  • que.empty()[link empty.md]
  • que.top()[link top.md]
  • que.pop()[link pop.md]

出力

4, ccc
3, aaa
1, bbb

バージョン

言語

  • C++11

処理系

参照