Biblioteca de Filas C ++ - Função emplace ()

Descrição

A função C ++ std::queue::emplace()constrói e insere novo elemento no final da fila. 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 :: 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

Complexidade de tempo

Logarítmico no tamanho do container.

Exemplo

O exemplo a seguir mostra o uso da função std :: queue :: emplace ().

#include <iostream>
#include <queue>

using namespace std;

int main(void) {
   queue<int> q;

   for (int i = 0; i < 5; ++i)
      q.emplace(i + 1);

   cout << "Contents of queue" << endl;
   while (!q.empty()) {
      cout << q.front() << endl;
      q.pop();
   }

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Contents of queue
1
2
3
4
5