No mapa C++

No Mapa C



A biblioteca C++ STL nos fornece uma classe de mapa. Os mapas são considerados contêineres associativos que retêm objetos em um par de valores de chave ordenados e valores mapeados. Nunca pode haver dois valores mapeados com o mesmo valor de chave. A classe Map fornece muitas funções, mas aqui vamos discutir o map.at() função. O elemento mapeado para o valor da chave é passado como o parâmetro da função que é referenciado usando o map.at() função. Quando tentamos chegar a um elemento que não está dentro do intervalo do container, o map.at() A função avalia o intervalo do contêiner e lança uma exceção.

Sintaxe da função map.at()

Precisamos seguir a sintaxe abaixo para implementar a função map.at() em C++.







Map_variable.at ( chave / par de valor )



Usamos o objeto map que é chamado de “Map_variable” com o no() função. Ele retorna o elemento que é referenciado diretamente e aponta para o valor de chave especificado. O mapa de chave de dados depende principalmente do alcance do mapa. Se não for, existe a possibilidade de que uma exceção ou erro seja retornado em tempo de execução que signifique que o valor está além do intervalo definido. Agora, usaremos essa sintaxe nos códigos C++ para mostrar que está funcionando.



Exemplo 1: Usando a função map.at()

O programa é implementado para demonstrar a função map.at. Nós ligamos o no() função com o mapa() função que recebe alguns valores de entrada e mostra sua funcionalidade. Para isso, preenchemos a seção de cabeçalho do programa importando o módulo map com outro módulo obrigatório para c++. Em seguida, chamamos o a Principal() função para a declaração do mapa da classe map. O objeto do mapa é rotulado como “MyMap”. Criamos a lista de mapas fornecendo a chave e o valor do mapa.





Depois disso, invocamos o map.at() função que mapeia a string especificada para um inteiro. Em seguida, imprimimos os resultados do map.at() função do loop for. O loop for usa a referência de palavra-chave “auto”. A palavra-chave auto indica que o inicializador removerá automaticamente o tipo da variável daquela que está sendo declarada. A instrução cout imprimirá os pares na ordem que é retornada do map.at() função.

#include

#include

#include


int principal ( )

std: :mapa < std::string,int > Meu mapa = {

{ 'maçã', 0 } ,

{ 'uvas' , 0 } ,

{ 'mangas' , 0 } }

MyMap.at ( 'maçã' ) = 5 ;

MyMap.at ( 'uvas' ) = 10 ;

MyMap.at ( 'mangas' ) = 6 ;

por ( auto & m: Meu mapa ) {

std::cout << m.primeiro << ': ' << m.segundo << '\n' ; }

< Forte > Retorna 0 ;

}



Agora, temos os resultados do programa acima que implementa o map.at() função. Todos os inteiros especificados que estão no intervalo são exibidos em cada string.

Exemplo 2: Usando a função map.at() para exceção out_of_range

Discutimos através de um programa de exemplo o uso do map.at função em C++. Agora, implementamos outro map.at no programa. Mas desta vez ele retornará o valor que é apresentado dentro do mapa e também a exceção out_of_range quando a chave não for especificada. Como temos que utilizar o map.at função, então adicionamos o módulo map no cabeçalho. Em seguida, definimos a função main onde o “void” é passado como parâmetro.

Dentro da função main, inicializamos o construtor da lista criando o objeto map como “m1”. A lista de mapas tem diferentes sequências de chaves e os valores inteiros em relação a elas. Em seguida, imprimimos a chave “i” passando-a pelo map.at função. Empregamos o bloco try-catch. No bloco try, apresentamos a chave de inexistência no map.at função. Como a chave está fora do intervalo, o bloco try lançará o erro.

#include

#include

usando o namespace std;

int principal ( vazio ) {


mapa < caractere, int > m1 = {

{ 'eu' , 1 } ,

{ 'eu' , dois } ,

{ 'n' , 3 } ,

{ 'dentro' , 4 } ,

{ 'x' , 5 } ,

} ;



cout << 'valor da chave do mapa m1['i'] = ' << m1.at ( 'eu' ) << fim;



tentar {

m1.at ( 'S' ) ;

} truque ( const out_of_range & e ) {

cerr << 'Erro em ' << e. o que ( ) << fim;

}



Retorna 0 ;

}

Podemos visualizar na captura de tela de saída que o map.at() A função retorna apenas as teclas presentes no mapa. As chaves fora do intervalo lançam o erro, pois o erro é exibido quando passamos a chave “y” no map.at função.

Exemplo 3: Usando a função map.at() para acessar elementos

Um elemento pode ser acessado usando o elemento especificado de dígitos da função map.at. Vamos implementar este programa para realizar a declaração acima. Definimos o módulo de mapa primeiro na seção de cabeçalho, pois é necessário acessar o map.at função. Então, temos a função main onde a classe map inicializou o objeto map como “Map”. Com este objeto “Map”, geramos as chaves das strings e atribuímos o valor do dígito a elas. Depois disso, chamamos o map.at uma função com a instrução cout e passou a chave “Example” como entrada.

#include

#include

#include

usando o namespace std;

int principal ( )

{

mapa < corda, int > Mapa;

Mapa [ 'Meu' ] = 1 ;

Mapa [ 'c++' ] = dois ;

Mapa [ 'Mapa' ] = 3 ;

Mapa [ 'Exemplo' ] = 4 ;

cout << Map.at ( 'Exemplo' ) ;

Retorna 0 ;

}

O elemento digit é retornado contra a chave especificada no map.at função. O resultado dá o valor “4” pois este dígito é atribuído ao elemento chave “Exemplo” de um mapa.

Exemplo 4: Usando a função map.at() para modificar elementos

Vamos considerar uma instância simples de modificação do valor associado ao valor da chave. Criamos a lista do mapa chamando a classe do mapa e criando o objeto “M1”. Atribuímos o valor da string em cada chave do mapa. Em seguida, devemos utilizar o map.at função. No map.at função, usamos as chaves especificadas e atribuímos os novos valores de string a essas chaves. Agora, esses valores serão modificados com o anterior. Com a ajuda do loop for, iteramos cada elemento do mapa e o exibimos como uma saída.

#include

#include

#include


usando o namespace std;


int principal ( )

{

mapa < int, string > M1 = {

{ 10 , 'c++' } ,

{ vinte , 'Java' } ,

{ 30 , 'Pitão' } ,

{ 40 , 'csharp' } ,

{ cinquenta , 'ABRIR' } } ;




M1.at ( vinte ) = 'Tensorfluxo' ;

M1.at ( 30 ) = 'Linux' ;

M1.at ( cinquenta ) = 'Escala' ;

cout << ' \n Elementos:' << fim;

por ( auto & x: M1 ) {

cout << x.primeiro << ': ' << x.segundo << '\n' ;

}


Retorna 0 ;

}

Observe que os valores obtidos como saída modificaram os valores de string recém-atribuídos no map.at função. Os valores atualizados são mostrados no instantâneo abaixo.

Conclusão

O artigo é sobre a função map.at. Fornecemos a funcionalidade da função map.at() através de sua sintaxe e o exemplo é implementado com o compilador C++. A função map.at() é muito útil, pois permite a acessibilidade do elemento e retorna uma exceção ou erro claro que descreve a situação que surgiu quando o método está sendo chamado. Além disso, podemos atribuir novos valores à chave de existência por meio da função map.at.