C ++ Stack Library - função emplace ()

Descrição

A função C ++ std::stack::emplace()constrói e insere um novo elemento no topo da pilha. O novo elemento é inserido em um local, ou seja, sem executar a operação de copiar ou mover.

Declaração

A seguir está a declaração para o formulário de função std :: stack :: emplace () std :: stack header.

C ++ 11

template <class... Args> 
void emplace (Args&&... args);

Parâmetros

args - Argumentos encaminhados para construir os novos elementos

Valor de retorno

Nenhum

Exceções

Depende do contêiner subjacente.

Complexidade de tempo

Constante, ou seja, O (1)

Exemplo

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

#include <iostream>
#include <stack>

using namespace std;

int main(void) {
   stack<int> s;

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

   while (!s.empty()) {
      cout << s.top() << endl;
      s.pop();
   }

   return 0;
}

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

Stack contents are
5
4
3
2
1