På kart C ++

På kart C ++

C ++ STL -biblioteket gir oss en kartklasse. Kart regnes som assosiative containere som beholder objekter i et par bestilte nøkkelverdier og kartlagte verdier. Det kan aldri være to kartlagte verdier med samme nøkkelverdi. Kartklasse gir mange funksjoner, men her vil vi diskutere kart.på() funksjon. Det kartlagte elementet til nøkkelverdien sendes som funksjonens parameter som refereres til ved hjelp av kart.på() funksjon. Når vi prøver å komme til et element som ikke er inne i beholderens rekkevidde, er det kart.på() Funksjon evaluerer beholderens rekkevidde og kaster et unntak.

Syntaks av kart.på () funksjon

Vi må følge syntaksen nedenfor for å implementere kartet.på () funksjon i C++.

MAP_VARIABLE.på (nøkkel/verdipar)

Vi har brukt kartobjektet som heter "map_variable" med på() funksjon. Det returnerer elementet som er direkte referert og peker på den spesifiserte nøkkelverdien. Datastikkkartet avhenger mest av kartets område. Hvis det ikke er det, er det en mulighet for at et unntak eller feil blir returnert på utførelsestid som betyr at verdien er utenfor det definerte området. Nå vil vi bruke denne syntaksen i C ++ -kodene for å vise at den fungerer.

Eksempel 1: Bruke kart.på () funksjon

Programmet er implementert for å demonstrere kartet.ved funksjon. Vi har koblet på() funksjon med kart() funksjon som tar noen inngangsverdier og viser funksjonaliteten. For dette har vi fylt programmets overskriftsdel ved å importere kartmodulen med en annen nødvendig modul for C++. Da har vi kalt hoved() funksjon for karterklæringen fra kartklassen. Målet med kartet er merket som "MyMap". Vi oppretter listen over kart ved å gi karttasten og verdien.

Etter dette påkalte vi kart.på() funksjon som kartlegger den spesifiserte strengen til et heltall. Deretter trykket vi resultatene fra kart.på() funksjon fra for -loopen. For Loop bruker "Auto" nøkkelordreferanse. Auto -nøkkelordet indikerer at initialisatoren automatisk vil fjerne variabelen fra den som blir erklært. Cout -uttalelsen vil skrive ut parene i den rekkefølgen som returneres fra kart.på() funksjon.

#inkludere
#inkludere
#inkludere
int main ()
STD :: Kart MyMap =
“Apple”, 0,
"druer", 0,
"Mangoes", 0
MyMap.på ("eple") = 5;
MyMap.på ("druer") = 10;
MyMap.på ("mango") = 6;
for (auto & m: myMap)
std :: cout << m.first << ": " << m.second << '\n';
retur 0;

Nå har vi resultatene fra ovennevnte program som implementerer kart.på() funksjon. Alle de spesifiserte heltallene som er innen rekkevidde vises mot hver streng.

Eksempel 2: Bruke kart.på () Funksjon for OUT_OF_RANGE -unntak

Vi har diskutert gjennom et eksempelprogrammet bruk av kart.på funksjon i c++. Nå har vi implementert en annen kart.på i programmet. Men denne gangen vil den returnere verdien som presenteres inne i kartet, og også OUT_OF_RANGE -unntaket når nøkkelen ikke er spesifisert. Som vi må bruke kart.på funksjon, så vi har lagt til kartmodulen i overskriften. Deretter har vi definert hovedfunksjonen der "tomrommet" sendes som en parameter.

Inne i hovedfunksjonen har vi initialisert listekonstruktøren ved å lage kartobjektet som "M1". Kartlisten har forskjellige strenger av nøkler og heltallverdiene mot dem. Deretter trykket vi nøkkelen “jeg” ved å gi den gjennom kart.på funksjon. Vi har ansatt prøvefangstblokken. I prøveblokken har vi presentert ikke-eksistensnøkkelen i kart.på funksjon. Ettersom nøkkelen er utenfor rekkevidden, så vil prøveblokken kaste feilen.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main (void)
kart M1 =
'l', 1,
'i', 2,
'n', 3,
'u', 4,
'x', 5,
;
cout << "map key value m1['i'] = " << m1.at('i') << endl;
prøv
M1.på ('y');
fangst (const out_of_range & e)
Cerr << "Error at " << e.what() << endl;

retur 0;

Vi kan visualisere fra utgangsskjermbildet som kart.på() Funksjon returnerer bare nøklene som er til stede på kartet. Tastene utenfor rekkevidden kaster feilen da feilen vises når vi passerte nøkkelen "y" i kart.på funksjon.

Eksempel 3: Bruke kart.på () funksjon for tilgang til elementer

Et element kan nås ved hjelp av det spesifiserte elementet på sifre fra kartet.ved funksjon. La oss implementere dette programmet for å oppnå ovennevnte uttalelse. Vi har definert kartmodulen først i overskriftsdelen, da det kreves for å få tilgang til kart.på funksjon. Deretter har vi hovedfunksjonen der kartklassen initialiserte kartobjektet som "kart". Med dette "kart" -objektet har vi generert nøklene til strengene og tildelt verdien av sifferet til dem. Etter det kalte vi kart.på en funksjon med cout -setningen og besto "eksemplet" -tasten som en inngang.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

kart Kart;
Kart ["min"] = 1;
Kart ["C ++"] = 2;
Kart ["Kart"] = 3;
Kart ["Eksempel"] = 4;
cout << Map.at("Example");
retur 0;

Sifferelementet returneres mot den spesifiserte nøkkelen i kart.på funksjon. Resultatet gir verdien “4” ettersom dette sifferet er tilordnet nøkkelelementet “eksempel” på et kart.

Eksempel 4: Bruke kart.på () funksjon for å endre elementer

La oss vurdere en enkel forekomst for å endre verdien som er knyttet til nøkkelverdien. Vi har opprettet listen over kartet ved å ringe kartklassen og opprette objektet “M1”. Vi har tildelt strengverdien mot hver nøkkel på kartet. Deretter må vi bruke kart.på funksjon. I kart.på Funksjon, vi har brukt de spesifiserte nøklene og tildelt de nye strengverdiene mot disse nøklene. Nå vil disse verdiene bli endret med den forrige. Ved hjelp av for loop har vi iterert hvert element fra kartet og vist det som en utgang.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

kart M1 =
10, "C ++",
20, "java",
30, "python",
40, "csharp",
50, "oop";
M1.på (20) = "Tensorflow";
M1.på (30) = "Linux";
M1.på (50) = "Scala";
cout<<"\nElements:" <for (auto & x: m1)
cout << x.first << ": " << x.second << '\n';

retur 0;

Legg merke til at verdier oppnådd som utgang har endret de nyordnede strengverdiene i kart.på funksjon. De oppdaterte verdiene vises i øyeblikksbildet nedenfor.

Konklusjon

Artikkelen handler om kartet.ved funksjon. Vi har gitt funksjonaliteten til kartet.med () -funksjon gjennom syntaks og eksemplet implementeres med C ++ kompilator. Kartet.AT () -funksjonen er svært nyttig, da den gir mulighet for tilgjengelighet av element og returnerer et klart unntak eller feil som beskriver situasjonen som oppsto når metoden blir kalt. Videre kan vi tilordne nye verdier mot eksistensnøkkelen gjennom kartet.ved funksjon.