Alla mappa C ++

Alla mappa C ++

La libreria STL C ++ ci fornisce una classe di mappe. Le mappe sono considerate contenitori associativi che mantengono gli oggetti in una coppia di valori chiave ordinati e valori mappati. Non ci possono mai essere due valori mappati con lo stesso valore chiave. La classe Map fornisce molte funzioni ma qui discuteremo carta geografica.A() funzione. L'elemento mappato sul valore chiave viene passato come parametro della funzione a cui si fa riferimento usando il carta geografica.A() funzione. Quando tentiamo di raggiungere un elemento che non si trova all'interno della gamma del contenitore, il carta geografica.A() La funzione valuta la gamma del contenitore e lancia un'eccezione.

Sintassi della mappa.nella funzione ()

Dobbiamo seguire la sintassi di seguito per implementare la mappa.alla funzione () in C++.

Map_variable.a (coppia chiave/valore)

Abbiamo usato l'oggetto mappa che si chiama "map_variable" con A() funzione. Restituisce l'elemento che viene direttamente referenziato e indica il valore della chiave specificato. La mappa dei tasti di dati dipende principalmente dall'intervallo della mappa. In caso contrario, esiste la possibilità che un'eccezione o un errore venga restituito al momento dell'esecuzione che significa che il valore è oltre l'intervallo definito. Ora useremo questa sintassi nei codici C ++ per dimostrare che funziona.

Esempio 1: usando la mappa.nella funzione ()

Il programma è implementato per dimostrare la mappa.in funzione. Abbiamo collegato il A() funzione con il carta geografica() funzione che assume alcuni valori di input e mostra la sua funzionalità. Per questo, abbiamo riempito la sezione di intestazione del programma importando il modulo mappa con un altro modulo richiesto per C++. Quindi, abbiamo chiamato il principale() funzione per la dichiarazione della mappa dalla classe mappa. L'oggetto della mappa è etichettato come "mymap". Creiamo l'elenco delle mappe fornendo la chiave della mappa e il valore.

Dopo questo, abbiamo invocato il carta geografica.A() funzione che mappa la stringa specificata su un numero intero. Quindi, abbiamo stampato i risultati da carta geografica.A() funzione dal ciclo per. Il Loop utilizza il riferimento della parola chiave "auto". La parola chiave automatica indica che l'inizializzatore rimuoverà automaticamente il tipo di variabile da quello che viene dichiarato. L'istruzione Cout stamperà le coppie nell'ordine che viene restituito da carta geografica.A() funzione.

#includere
#includere
#includere
int main ()
STD :: Mappa Mymap =
"Apple", 0,
"uva", 0,
"Mangoes", 0
Mymap.at ("Apple") = 5;
Mymap.at ("uva") = 10;
Mymap.at ("mango") = 6;
per (auto & m: mymap)
std :: cout << m.first << ": " << m.second << '\n';
restituzione 0;

Ora abbiamo i risultati del programma sopra che implementa il carta geografica.A() funzione. Tutti gli numeri interi specificati che sono nell'intervallo vengono visualizzati contro ogni stringa.

Esempio 2: usando la mappa.a () funzione per out_of_range eccezione

Abbiamo discusso attraverso un programma di esempio l'uso del carta geografica.A funzione in c++. Ora ne abbiamo implementati un altro carta geografica.A nel programma. Ma questa volta restituirà il valore presentato all'interno della mappa e anche l'eccezione OUT_OF_RANGE quando la chiave non è specificata. Come dobbiamo utilizzare il carta geografica.A funzione, quindi abbiamo aggiunto il modulo mappa nell'intestazione. Quindi, abbiamo definito la funzione principale in cui il "vuoto" viene passato come parametro.

All'interno della funzione principale, abbiamo inizializzato il costruttore dell'elenco creando l'oggetto MAP come "M1". L'elenco delle mappe ha diverse stringhe di chiavi e i valori interi contro di loro. Quindi, abbiamo stampato la chiave "io" passando attraverso il carta geografica.A funzione. Abbiamo impiegato il blocco di cattura. Nel blocco di prova, abbiamo presentato la chiave di non esistenza nel carta geografica.A funzione. Poiché la chiave è fuori dall'intervallo, quindi il blocco di prova lancerà l'errore.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main (void)
carta geografica m1 =
'l', 1,
'i', 2,
'n', 3,
'u', 4,
'x', 5,
;
cout << "map key value m1['i'] = " << m1.at('i') << endl;
Tentativo
M1.a ('y');
catch (const out_of_range & e)
Cerr << "Error at " << e.what() << endl;

restituzione 0;

Possiamo visualizzare dallo screenshot di output che il carta geografica.A() La funzione restituisce solo i tasti presenti nella mappa. Le chiavi fuori raggio lanciano l'errore man mano che viene visualizzato l'errore quando abbiamo superato la chiave "y" nel carta geografica.A funzione.

Esempio 3: usando la mappa.nella funzione () per l'accesso agli elementi

È possibile accedere a un elemento utilizzando l'elemento specificato delle cifre dalla mappa.in funzione. Implettiamo questo programma per realizzare la dichiarazione di cui sopra. Abbiamo definito prima il modulo MAP nella sezione dell'intestazione in quanto è necessario accedere al carta geografica.A funzione. Quindi, abbiamo la funzione principale in cui la classe della mappa ha inizializzato l'oggetto mappa come "mappa". Con questo oggetto "mappa", abbiamo generato le chiavi delle stringhe e assegnato il valore della cifra. Dopodiché, abbiamo chiamato il carta geografica.A una funzione con l'istruzione Cout e ha superato il tasto "Esempio" come input.

#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

carta geografica Carta geografica;
Mappa ["mio"] = 1;
Mappa ["c ++"] = 2;
Mappa ["mappa"] = 3;
Mappa ["esempio"] = 4;
cout << Map.at("Example");
restituzione 0;

L'elemento di cifre viene restituito rispetto alla chiave specificata in carta geografica.A funzione. Il risultato fornisce il valore "4" poiché questa cifra viene assegnata all'elemento chiave "Esempio" di una mappa.

Esempio 4: usando la mappa.nella funzione () per la modifica degli elementi

Consideriamo una semplice istanza di modifica del valore associato al valore chiave. Abbiamo creato l'elenco della mappa chiamando la classe mappa e creando l'oggetto "M1". Abbiamo assegnato il valore della stringa rispetto a ciascuna chiave della mappa. Quindi, dobbiamo utilizzare il carta geografica.A funzione. Nel carta geografica.A funzione, abbiamo usato i tasti specificati e assegnato i nuovi valori di stringa su tali chiavi. Ora, questi valori verranno modificati con il precedente. Con l'aiuto di Loop, abbiamo iterate ogni elemento dalla mappa e lo abbiamo visualizzato come output.

#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

carta geografica M1 =
10, "C ++",
20, "Java",
30, "Python",
40, "csharp",
50, "oop";
M1.at (20) = "tensorflow";
M1.at (30) = "Linux";
M1.at (50) = "Scala";
cout<<"\nElements:" <per (auto & x: m1)
cout << x.first << ": " << x.second << '\n';

restituzione 0;

Si noti che i valori ottenuti come output hanno modificato i valori di stringa appena assegnati in carta geografica.A funzione. I valori aggiornati sono mostrati nell'istantanea seguente.

Conclusione

L'articolo riguarda la mappa.in funzione. Abbiamo fornito la funzionalità della mappa.alla funzione () attraverso la sua sintassi e l'esempio è implementato con il compilatore C ++. La mappa.alla funzione () è molto utile in quanto consente l'accessibilità dell'elemento e restituisce una chiara eccezione o un errore che descrive la situazione che si è verificata quando il metodo viene chiamato. Inoltre, possiamo assegnare nuovi valori contro la chiave di esistenza attraverso la mappa.in funzione.