Biblioteca de conjuntos de C ++ - función de emplazamiento

Descripción

Inserta un nuevo elemento en el conjunto.

Declaración

A continuación se muestran las formas en que std :: set :: emplace funciona en varias versiones de C ++.

C ++ 98

template <class... Args>
  pair<iterator,bool> emplace (Args&&... args);

C ++ 11

template <class... Args>
  pair<iterator,bool> emplace (Args&&... args);

Valor devuelto

Devuelve un par de un iterador al elemento recién insertado y un valor de verdadero.

Excepciones

Si se lanza una excepción, no hay cambios en el contenedor.

Complejidad del tiempo

Depende del tamaño del contenedor.

Ejemplo

El siguiente ejemplo muestra el uso de std :: set :: emplace.

#include <iostream>
#include <set>
#include <string>

int main () {
   std::set<std::string> myset;

   myset.emplace("foo");
   myset.emplace("bar");
   auto ret = myset.emplace("bar");

   if (!ret.second) std::cout << "bar already exists in myset\n";

   return 0;
}

El programa anterior se compilará y ejecutará correctamente.

bar already exists in myset