Unordered_multiset ::emplace() es una función integrada en C++ STL que inserta un nuevo elemento en el contenedor unordered_multiset. 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_multiset_name.emplace(val)
Parámetros: la función acepta un solo parámetro obligatorio val 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 the // unordered_multiset::emplace() function #include <bits/stdc++.h> using namespace std; int main() { // declaration unordered_multiset<int> sample; // inserts element using emplace() sample.emplace(11); sample.emplace(11); sample.emplace(11); sample.emplace(12); sample.emplace(13); sample.emplace(13); sample.emplace(14); cout << "Elements: "; for (auto it = sample.begin(); it != sample.end(); it++) cout << *it << " "; return 0; }
Producción:
Elements: 14 11 11 11 12 13 13
Programa 2:
// C++ program to illustrate the // unordered_multiset::emplace() function #include <bits/stdc++.h> using namespace std; int main() { // declaration unordered_multiset<char> sample; // inserts element using emplace() sample.emplace('a'); sample.emplace('a'); sample.emplace('a'); sample.emplace('b'); sample.emplace('b'); sample.emplace('c'); sample.emplace('d'); cout << "Elements: "; for (auto it = sample.begin(); it != sample.end(); it++) cout << *it << " "; return 0; }
Producción:
Elements: d a a a b b c