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 -chave ordenados e valores mapeados. Nunca pode haver dois valores mapeados com o mesmo valor -chave. A classe de mapa fornece muitas funções, mas aqui discutiremos o mapa.no() função. O elemento mapeado para o valor da chave é passado como o parâmetro da função que é referenciado usando o mapa.no() função. Quando tentamos chegar a um elemento que não está dentro da faixa do contêiner, o mapa.no() A função avalia o intervalo do contêiner e lança uma exceção.

Sintaxe do mapa.na () função

Precisamos seguir a sintaxe abaixo para implementar o mapa.em () função em c++.

Map_variable.em (par de chave/valor)

Usamos o objeto de mapa chamado "map_variable" com o no() função. Ele retorna o elemento que é diretamente referenciado e aponta para o valor da chave especificado. O mapa da chave de dados depende principalmente do intervalo do mapa. Caso contrário, existe a possibilidade de que uma exceção ou erro seja retornado no tempo de execução que significa 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 o mapa.na () função

O programa é implementado para demonstrar o mapa.em função. Nós vinculamos o no() função com o mapa() função que leva alguns valores de entrada e mostra sua funcionalidade. Para isso, preenchemos a seção de cabeçalho do programa importando o módulo de mapa com outro módulo necessário para C++. Então, nós chamamos o principal() função para a declaração do mapa da classe do mapa. O objeto do mapa é rotulado como "mymap". Criamos a lista de mapas, dando a chave e o valor do mapa.

Depois disso, invocamos o mapa.no() função que mapeia a string especificada para um número inteiro. Então, imprimimos os resultados do mapa.no() função do loop for. O loop for usa a referência de palavra -chave "automática". A palavra -chave automática indica que o inicializador removerá automaticamente o tipo da variável daquele que está sendo declarado. A declaração cout imprimirá os pares na ordem que é devolvida do mapa.no() função.

#incluir
#incluir
#incluir
int main ()
std :: mapa Mymap =
“Apple”, 0,
"uvas", 0,
"mangas", 0
Mymap.em ("Apple") = 5;
Mymap.em ("uvas") = 10;
Mymap.em ("mangas") = 6;
para (Auto & m: mymap)
std :: cout << m.first << ": " << m.second << '\n';
retornar 0;

Agora, temos os resultados do programa acima que implementa o mapa.no() função. Todos os números inteiros especificados que estão no alcance são exibidos contra cada string.

Exemplo 2: Usando o mapa.em () função para out_of_Range Exception

Discutimos através de um exemplo de programa o uso do mapa.no função em c++. Agora, implementamos outro mapa.no 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 mapa.no função, então adicionamos o módulo de mapa no cabeçalho. Em seguida, definimos a função principal em que o "vazio" é passado como um parâmetro.

Dentro da função principal, inicializamos o construtor da lista, criando o objeto de mapa como "M1". A lista de mapas tem diferentes seqüências de chaves e os valores inteiros contra eles. Então, imprimimos a chave "eu", passando por ela mapa.no função. Nós empregamos o bloco de tentativa. No bloco de tentativa, apresentamos a chave de inexistência no mapa.no função. Como a chave está fora do intervalo, o bloco de tentativa lançará o erro.

#incluir
#incluir
usando namespace std;
int main (void)
mapa m1 =
'l', 1,
'i', 2,
'n', 3,
'u', 4,
'x', 5,
;
cout << "map key value m1['i'] = " << m1.at('i') << endl;
tentar
M1.em ('y');
catch (const out_of_range & e)
Cerr << "Error at " << e.what() << endl;

retornar 0;

Podemos visualizar a partir da captura de tela de saída que o mapa.no() função retorna apenas as chaves presentes no mapa. As chaves fora do alcance lançam o erro à medida que o erro é exibido quando passamos a chave "y" no mapa.no função.

Exemplo 3: Usando o mapa.em () função para acessar elementos

Um elemento pode ser acessado usando o elemento especificado de dígitos do mapa.em função. 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 para acessar o mapa.no função. Em seguida, temos a função principal em que a classe de mapa inicializou o objeto do mapa como "mapa". Com este objeto "mapa", geramos as chaves das cordas e atribuímos o valor do dígito a eles. Depois disso, chamamos o mapa.no uma função com a declaração cout e passou a tecla "Exemplo" como uma entrada.

#incluir
#incluir
#incluir
usando namespace std;
int main ()

mapa Mapa;
Mapa ["my"] = 1;
Mapa ["c ++"] = 2;
Mapa ["map"] = 3;
Mapa ["exemplo"] ​​= 4;
cout << Map.at("Example");
retornar 0;

O elemento dígito é devolvido contra a chave especificada no mapa.no função. O resultado fornece o valor "4", pois este dígito é atribuído ao elemento -chave "Exemplo" de um mapa.

Exemplo 4: Usando o mapa.em () função para modificar elementos

Vamos considerar uma instância simples de modificar o 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 contra cada chave do mapa. Então, temos que utilizar o mapa.no função. No mapa.no função, usamos as chaves especificadas e atribuímos os novos valores de string contra essas chaves. Agora, esses valores serão modificados com o anterior. Com a ajuda do loop, iteramos cada elemento do mapa e o exibimos como uma saída.

#incluir
#incluir
#incluir
usando namespace std;
int main ()

mapa M1 =
10, "C ++",
20, "Java",
30, "Python",
40, "csharp",
50, "oop";
M1.em (20) = "tensorflow";
M1.em (30) = "Linux";
M1.em (50) = "scala";
cout<<"\nElements:" <para (Auto & X: M1)
cout << x.first << ": " << x.second << '\n';

retornar 0;

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

Conclusão

O artigo é sobre o mapa.em função. Nós fornecemos a funcionalidade do mapa.em () função através de sua sintaxe e o exemplo é implementado com o compilador C ++. O mapa.em () a função é altamente ú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 da existência através do mapa.em função.