Unordered_multimap ::emplace() es una función integrada en C++ STL que inserta una nueva {clave, elemento} en el contenedor unordered_multimap. La inserción se realiza automáticamente en la posición según el criterio del contenedor. Aumenta el tamaño del contenedor en uno.
Sintaxis:
unordered_multimap_name.emplace(key, element)
Parámetros: la función acepta una única clave de parámetro obligatoria y un elemento que se insertará en el contenedor.
Valor devuelto: Devuelve un iterador que apunta al elemento recién insertado.
Los siguientes programas ilustran la función anterior:
Programa 1:
// C++ program to illustrate // unordered_multimap::emplace() #include <iostream> #include <string> #include <unordered_map> using namespace std; int main() { // declaration unordered_multimap<int, int> sample; // inserts key and elements sample.emplace(1, 2); sample.emplace(1, 2); sample.emplace(1, 3); sample.emplace(4, 9); sample.emplace(60, 89); cout << "Key and Elements: \n"; for (auto it = sample.begin(); it != sample.end(); it++) cout << "{" << it->first << ":" << it->second << "}\n "; return 0; }
Producción:
Key and Elements: {60:89} {4:9} {1:3} {1:2} {1:2}
Programa 2:
// unordered_multimap::emplace #include <iostream> #include <string> #include <unordered_map> using namespace std; int main() { // declaration unordered_multimap<string, string> sample; // inserts key and elements sample.emplace("gopal", "dave"); sample.emplace("gopal", "dave"); sample.emplace("Geeks", "C++"); sample.emplace("multimap", "functions"); sample.emplace("multimap", "functions"); cout << "Key and Elements: \n"; for (auto it = sample.begin(); it != sample.end(); it++) cout << "{" << it->first << ":" << it->second << "}\n "; return 0; }
Producción:
Key and Elements: {multimap:functions} {multimap:functions} {Geeks:C++} {gopal:dave} {gopal:dave}