- 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
- Clang: ??
- GCC: 4.7.0 [mark verified]
- ICC: ??
- Visual C++: ??