Valores por defecto en un Mapa en C++ STL

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: 
 

  1. Declare una estructura (digamos struct node ) con un valor predeterminado.
  2. 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;
}
Producción: 

-1

 

Publicación traducida automáticamente

Artículo escrito por maddy1706 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *