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