Biblioteca de pila de C ++ - función emplace ()

Descripción

La función C ++ std::stack::emplace()construye e inserta un nuevo elemento en la parte superior de la pila. El nuevo elemento se inserta en un lugar, es decir, sin realizar la operación de copiar o mover.

Declaración

A continuación se muestra la declaración de la función std :: stack :: emplace () del encabezado std :: stack.

C ++ 11

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

Parámetros

args - Argumentos enviados para construir los nuevos elementos.

Valor devuelto

Ninguna

Excepciones

Depende del contenedor subyacente.

Complejidad del tiempo

Constante es decir O (1)

Ejemplo

El siguiente ejemplo muestra el uso de la función 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Stack contents are
5
4
3
2
1