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

C++ Uso e exemplo do map at()

C++ STL map ( Container )

C ++ map at()A função é usada para obter o valor do tipo mapeadoChave valorAcesso a elementos do map. Se o map não contiver a chave acessada, lançaout_of_rangeExceções.

Sintaxe

Supondo que o valor da chave sejak,a sintaxe é:

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

Parâmetro

k:a chave de valor do elemento a ser acessado no map.

Retorno

Ele usa chave valor para retornar uma referência ao valor do elemento map.

Exemplo1

Vamos ver um exemplo simples de acesso a elementos.

#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 << " : " << x.second << '\n';
  }
  return 0;
}

Saída:

A: 10
B: 20	
C: 30

Lá, a função at() é usada para acessar os elementos do map.

Exemplo2

Vamos ver um exemplo simples para adicionar elementos usando suas chaves.

#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";
//imprimir a chave101o valor, ou seja w3codebox
  cout << mymap.at(101); 
 // imprimir a chave102o valor, ou seja.
  cout << mymap.at(102);
 // imprimir a chave103o valor, ou seja com	
  cout << mymap.at(103);
  return 0;
}

Saída:

oldtoolbag.com

No exemplo acima, a função at() é usada para adicionar elementos após a inicialização, usando a chave associada.

Exemplo3

Vamos ver um exemplo simples para alterar o valor associado a uma chave.

#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 << "O elemento é:" << endl;
  for (auto& x: mymap) {
    	cout << x.first << " : " << x.second << '\n';
  }
  mymap.at(10) = "Nidhi"; // a chave100 valor alterado para Nidhi
  mymap.at(3) = "Pinku"; // a chave300 valor alterado para Pinku
  mymap.at(5) = "Arohi"; // a chave500 valor alterado para Arohi
  
  
  cout << "\nO elemento alterado é:" << endl;
  for (auto& x: mymap) {
    	cout << x.first << " : " << x.second << '\n';
  }
  
  return 0;
}

Saída:

O elemento é:
100: Nikita
200: Deep
300: Priya
400: Suman
500: Aman
O elemento alterado é:
100: Nidhi
200: Deep
300: Pinku
400: Suman
500: Arohi

No exemplo acima, a função at() é usada para alterar o valor associado a uma chave.

Exemplo4

Vamos ver um exemplo simples para lidar com exceções de "fora de faixa"?

#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'); 
          // Porque não há valor de chave z no map, ele lançará uma exceção
        
    }
        cout << endl << "Exceção Out of Range em " << e.what();
}

Saída:

Java
C++
Python
Exceção Out of Range em map::at

O exemplo acima lança uma exceção out_of_range, pois não há valor de chave z no map.

C++ STL map ( Container )