Requisito previo: mapa en STL
Un mapa es un contenedor que se utiliza para almacenar un par clave-valor. De forma predeterminada, los tipos de datos primitivos como int, char, bool, float en C/C++ no están definidos si las variables no se inicializan, pero un mapa inicialmente está vacío cuando se declara. Cuando se accede a este mapa con [ ] (por ejemplo, map<int,int> mpp; mpp[1]; ), si la clave no está presente en el mapa, se agrega y su valor se establece de forma predeterminada en 0 (es decir, el valor la inicialización se invoca para el int). Para inicializar el mapa con un valor predeterminado aleatorio a continuación, se muestra el enfoque:
Enfoque:
- Declare una estructura (digamos struct node ) con un valor predeterminado.
- Inicialice el mapa con la clave asignada al Node de estructura.
Sintaxis:
// For Structure struct Node { int value = -1; } // For Map with every key mapped to default value -1 Map < int, Node > M;
A continuación se muestra la ilustración del Mapa con un valor predeterminado -1 :
CPP14
// C++ program to illustrate a Map // initialize with default value #include <bits/stdc++.h> using namespace std; // Structure Node struct Node { int value = -1; }; // Driver Code int main() { // Map initialize with key value // pair with each pair mapped with // structure Node map<int, Node> Map; // Print the default value of 1 // store in Map cout << Map[1].value << endl; return 0; }
-1