En este artículo, vamos a aprender el método try_emplace en Maps y Unordered Maps . Este método se agregó en la versión C++ 17 (es decir, gcc 9.1). Esta nueva función propuesta se comporta de manera similar a emplace() , pero tiene la ventaja de que no construirá el objeto asociado con la clave, si la clave ya existe. Esto aumentará el rendimiento en caso de que los objetos de ese tipo sean costosos de crear.
Archivo de cabecera:
#include <utility>
Sintaxis:
map_name.try_emplace(key, element);
Parámetros: La función acepta dos parámetros obligatorios que se describen a continuación:
- key: Especifica la clave a insertar en el contenedor multimapa.
- elemento: Especifica el elemento de la clave que se va a insertar en el contenedor del mapa.
Valor devuelto: la función no devuelve nada.
A continuación se muestra el programa para ilustrar try_emplace() en C++:
// C++ program for the illustration of // map::try_emplace() function in map #include <bits/stdc++.h> using namespace std; // Driver Code int main() { // Initializing a container map<string, string> m; // Inserting elements in random order m.try_emplace("a", "123"); m.try_emplace("b", "456"); m.try_emplace("a", "Won't be inserted"); m.try_emplace("c", "789"); m.try_emplace("c", "Won't be inserted"); // Print the elements cout << "\nThe map is : \n"; cout << "KEY\tELEMENT\n"; for (auto p : m) { cout << p.first << "\t" << p.second << endl; } return 0; }
Publicación traducida automáticamente
Artículo escrito por chirags_30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA