priority_queue::emplace
描述 (Description)
C ++函数std::priority_queue::emplace()在priority_queue中按排序顺序构造和插入新元素。 新元素就地构建,即不执行移动或复制操作。
该成员函数有效地调用底层容器的emplace_back函数。
声明 (Declaration)
以下是std :: priority_queue :: emplace()函数形式std :: queue header的声明。
C++11
template <class... Args> void emplace (Args&&... args);
参数 (Parameters)
args - 转发以构造新元素的参数。
返回值
没有。
异常 (Exceptions)
该成员函数从不抛出异常。
时间复杂
对数表示容器的大小。
例子 (Example)
以下示例显示了std :: priority_queue :: emplace()函数的用法。
#include <iostream>
#include <queue>
using namespace std;
int main(void) {
priority_queue<int> q;
q.emplace(3);
q.emplace(1);
q.emplace(5);
q.emplace(2);
q.emplace(4);
cout << "Queue contents are" << endl;
while (!q.empty()) {
cout << q.top() << endl;
q.pop();
}
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 -
Queue contents are
5
4
3
2
1