En el mapa C ++

En el mapa C ++

La biblioteca C ++ STL nos proporciona una clase de mapa. Los mapas se consideran contenedores asociativos que retienen objetos en un par de valores clave ordenados y valores asignados. Nunca puede haber dos valores asignados con el mismo valor clave. La clase de mapas proporciona muchas funciones, pero aquí discutiremos el mapa.en() función. El elemento asignado al valor clave se pasa como el parámetro de la función al que se hace referencia utilizando el mapa.en() función. Cuando intentamos llegar a un elemento que no está dentro del rango del contenedor, el mapa.en() La función evalúa el rango del contenedor y lanza una excepción.

Sintaxis del mapa.AT () función

Necesitamos seguir la sintaxis a continuación para implementar el mapa.AT () función en c++.

Map_variable.AT (par de clave/valor)

Hemos usado el objeto de mapa que se llama "map_variable" con el en() función. Devuelve el elemento al que se hace referencia directamente y señala el valor de clave especificado. El mapa clave de datos depende principalmente del rango del mapa. Si no es así, existe la posibilidad de que se devuelva una excepción o error en el tiempo de ejecución que significa que el valor está más allá del rango definido. Ahora, usaremos esta sintaxis en los códigos C ++ para mostrar que está funcionando.

Ejemplo 1: Usando el mapa.AT () función

El programa se implementa para demostrar el mapa.AT FUNCIÓN. Hemos vinculado el en() función con el mapa() función que toma algunos valores de entrada y muestra su funcionalidad. Para esto, hemos llenado la sección de encabezado del programa importando el módulo de mapa con otro módulo requerido para C++. Entonces, hemos llamado al principal() función para la declaración del mapa de la clase de mapa. El objeto del mapa está etiquetado como "mymap". Creamos la lista de mapas dando la tecla y el valor del mapa.

Después de esto, invocamos el mapa.en() función que mapea la cadena especificada a un entero. Luego, imprimimos los resultados del mapa.en() función desde el bucle for. El bucle for utiliza la referencia de palabras clave "automáticamente". La palabra clave automática indica que el inicializador eliminará automáticamente el tipo de variable del que se está declarando. La instrucción Cout imprimirá los pares en el orden que se devuelve desde el mapa.en() función.

#incluir
#incluir
#incluir
int main ()
STD :: mapa Mymap =
"Apple", 0,
"uvas", 0,
"mangos", 0
Mi mapa.AT ("Apple") = 5;
Mi mapa.AT ("uvas") = 10;
Mi mapa.en ("mangos") = 6;
para (auto & m: mymap)
std :: cout << m.first << ": " << m.second << '\n';
regresar 0;

Ahora, tenemos los resultados del programa anterior que implementa el mapa.en() función. Todos los enteros especificados que están en el rango se muestran en cada cadena.

Ejemplo 2: Usando el mapa.AT () Función para la excepción OUT_OF_RANGE

Hemos discutido a través de un programa de ejemplo el uso de mapa.en función en c++. Ahora, hemos implementado otro mapa.en en el programa. Pero esta vez devolverá el valor que se presenta dentro del mapa y también la excepción OUT_OF_RANGE cuando no se especifica la clave. Como tenemos que utilizar el mapa.en función, por lo que hemos agregado el módulo de mapa en el encabezado. Luego, hemos definido la función principal donde se pasa el "vacío" como parámetro.

Dentro de la función principal, hemos inicializado el constructor de la lista creando el objeto MAP como "M1". La lista de mapas tiene diferentes cadenas de claves y los valores enteros contra ellos. Luego, imprimimos la clave "I" pasándola a través del mapa.en función. Hemos empleado el bloque de try-capch. En el bloque de try, hemos presentado la clave de no existencia en el mapa.en función. Como la llave está fuera del rango, el bloque de try tirará el error.

#incluir
#incluir
usando el espacio de nombres STD;
int main (void)
mapa m1 =
'l', 1,
'I', 2,
'n', 3,
'u', 4,
'x', 5,
;
cout << "map key value m1['i'] = " << m1.at('i') << endl;
intentar
M1.en ('y');
Catch (const out_of_range & e)
cerr << "Error at " << e.what() << endl;

regresar 0;

Podemos visualizar desde la captura de pantalla de salida que el mapa.en() La función solo devuelve las teclas presentes en el mapa. Las teclas fuera de rango arrojan el error a medida que se muestra el error cuando pasamos la tecla "Y" en el mapa.en función.

Ejemplo 3: Usando el mapa.AT () función para acceder a elementos

Se puede acceder a un elemento utilizando el elemento especificado de los dígitos del mapa.AT FUNCIÓN. Implementemos este programa para lograr la declaración anterior. Hemos definido el módulo de mapa primero en la sección del encabezado, ya que se requiere para acceder al mapa.en función. Luego, tenemos la función principal donde la clase de mapa inicializó el objeto mapa como "mapa". Con este objeto "mapa", hemos generado las claves de las cuerdas y les hemos asignado el valor del dígito. Después de eso, llamamos al mapa.en una función con la instrucción Cout y pasó la tecla "Ejemplo" como entrada.

#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()

mapa Mapa;
Mapa ["my"] = 1;
Mapa ["C ++"] = 2;
Mapa ["mapa"] = 3;
Mapa ["Ejemplo"] ​​= 4;
cout << Map.at("Example");
regresar 0;

El elemento dígito se devuelve contra la clave especificada en el mapa.en función. El resultado proporciona el valor "4", ya que este dígito se asigna al elemento clave "Ejemplo" de un mapa.

Ejemplo 4: Usando el mapa.AT () función para modificar elementos

Consideremos una instancia simple de modificar el valor asociado con el valor clave. Hemos creado la lista del mapa llamando a la clase del mapa y creando el objeto "M1". Hemos asignado el valor de la cadena en cada clave del mapa. Entonces, tenemos que utilizar el mapa.en función. En el mapa.en función, hemos utilizado las teclas especificadas y asignado los nuevos valores de cadena contra esas teclas. Ahora, estos valores se modificarán con el anterior. Con la ayuda de For Loop, hemos iterado cada elemento del mapa y lo mostramos como una salida.

#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()

mapa M1 =
10, "C ++",
20, "Java",
30, "Python",
40, "csharp",
50, "OOP";
M1.AT (20) = "TensorFlow";
M1.AT (30) = "Linux";
M1.AT (50) = "Scala";
cout<<"\nElements:" <para (auto & x: m1)
cout << x.first << ": " << x.second << '\n';

regresar 0;

Observe que los valores obtenidos como salida han modificado los valores de cadena recién asignados en el mapa.en función. Los valores actualizados se muestran en la instantánea a continuación.

Conclusión

El artículo es sobre el mapa.AT FUNCIÓN. Hemos proporcionado la funcionalidad del mapa.function at () a través de su sintaxis y el ejemplo se implementa con el compilador C ++. El mapa.La función at () es muy útil, ya que permite la accesibilidad de los elementos y devuelve una excepción o error claro que describe la situación que surgió cuando se llama al método. Además, podemos asignar nuevos valores contra la clave de existencia a través del mapa.AT FUNCIÓN.