English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manuale di base di C++

Controllo di flusso C++

Funzioni in C++

Array e stringhe C++

Strutture dati C++

Classi e oggetti C++

Puntatore in C++

Ereditarietà in C++

Manuale di STL di C++

Manuale di riferimento C++

Utilizzo e esempio della funzione at() di C++ map

map (contenitore) di STL in C++

C++ map at()La funzione viene utilizzata per accedere al valoreValore chiaveL'accesso agli elementi della mappa. Se la mappa non contiene la chiave acceduta, viene lanciataout_of_rangeEccezioni

Sintassi

Supponiamo che il valore chiave siakLa sintassi è:

mapped_type& at(const key_type& k);
const mapped_type& at(const key_type& k) const;

Parametro

k:La chiave da utilizzare per accedere all'elemento con il valore della mappa.

Valore di ritorno

Utilizza i valori chiave per restituire un riferimento al valore dell'elemento della mappa.

Esempio 1

Lasciamo vedere un esempio semplice di accesso agli elementi.

#include <iostream>
#include <string>
#include <map>  
int main ()
{
  map<string, int> m = {
                { "A", 10 },
                { "B", 20 },
                { "C", 30 } };
  for (auto& x: m) {
    cout << x.first << ": \
  }
  return 0;
}

Output:

A: 10
B: 20	
C: 30

In questo caso, la funzione at() viene utilizzata per accedere agli elementi della mappa.

Esempio 2

Lasciamo vedere un esempio semplice, che utilizza i valori chiave per aggiungere elementi.

#include <iostream>  
#include <string>  
#include <map>  
  
using namespace std;  
int main ()
{
  map<int,string> mymap = {
                { 101, "" },
                { 102, "" },
                { 103, "" } };
  mymap.at(101) = "w3codebox"; 
  mymap.at(102) = ".";
  mymap.at(103) = "com";
// Stampa il valore associato alla chiave 101, ossia w3codebox
  cout << mymap.at(101); 
 // Stampa il valore associato alla chiave 102, ossia .
  cout << mymap.at(102);
 // Stampa il valore associato alla chiave 103, ossia com	
  cout << mymap.at(103);
  return 0;
}

Output:

oldtoolbag.com

Nel esempio sopra, la funzione at() è utilizzata per aggiungere elementi associati a chiavi dopo l'inizializzazione.

Esempio 3

Ecco un esempio semplice per modificare il valore associato alla chiave.

#include <iostream>  
#include <string>  
#include <map>  
  
using namespace std;  
int main ()
{
  map<int,string> mymap = {
                { 100, "Nikita" }
                { 200, "Deep" }
                { 300, "Priya" }
                { 400, "Suman" }
                { 500, "Aman" }
                
  cout << "L'elemento è:" << endl;
  for (auto& x: mymap) {
    	cout << x.first << ": \
  }
  mymap.at(100) = "Nidhi"; // Modificare il valore associato alla chiave 100 con Nidhi
  mymap.at(300) = "Pinku"; // Modificare il valore associato alla chiave 300 con Pinku
  mymap.at(500) = "Arohi"; // Modificare il valore associato alla chiave 500 con Arohi
  
  
  cout << "\nL'elemento modificato è:" << endl;
  for (auto& x: mymap) {
    	cout << x.first << ": \
  }
  
  return 0;
}

Output:

L'elemento è:
100: Nikita
200: Deep
300: Priya
400: Suman
500: Aman
L'elemento modificato è:
100: Nidhi
200: Deep
300: Pinku
400: Suman
500: Arohi

Nel esempio sopra, la funzione at() è utilizzata per modificare il valore associato alla chiave.

Esempio 4

Ecco un esempio semplice per gestire l'eccezione "fuori dai limiti".

#include <iostream>  
#include <string>  
#include <map>  
  
using namespace std;  
int main ()
{
  map<char,string> mp = {
                { 'a', "Java" },
                { 'b', "C++" },
                { 'c', "Python" };
            
    cout << endl << mp.at('a');
    cout << endl << mp.at('b');
    cout << endl << mp.at('c');
    
    try {
        mp.at('z'); 
          // Poiché non esiste una chiave con valore z nel map, lancia un'eccezione
        
    }
        cout << endl << "Out of Range Exception at " << e.what();
}

Output:

Java
C++
Python
Eccezione Out of Range at map::at

L'esempio sopra lancia un'eccezione out_of_range perché non esiste una chiave con valore z nel map.

map (contenitore) di STL in C++