Descrição
A função C ++ std::priority_queue::emplace()constrói e insere um novo elemento na ordem de classificação na priority_queue. O novo elemento é construído no local, ou seja, sem executar a operação de mover ou copiar.
Esta função de membro efetivamente chama a função emplace_back do contêiner subjacente.
Declaração
A seguir está a declaração para o formulário de função std :: priority_queue :: emplace () std :: queue header.
C ++ 11
template <class... Args> void emplace (Args&&... args);
Parâmetros
args - Argumentos encaminhados para construir o novo elemento.
Valor de retorno
Nenhum.
Exceções
Esta função de membro nunca lança exceção.
Complexidade de tempo
Logarítmico no tamanho do container.
Exemplo
O exemplo a seguir mostra o uso da função 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
Queue contents are
5
4
3
2
1