Hvordan bruke kartet STL Container Class

C ++ kart beholder klassen implementerer en-til-en mapping mellom en unik nøkkel og en verdi. Nøkkelen sorterer de viktigste verdiparene i kartet. Den [] operatør er STL kartets den mest brukte offentlig metode. Angi en nøkkelverdi i klammer returnerer en referanse til tilsvarende verdi. Hvis nøkkelen ikke finnes, setter programmet det og returnerer en referanse til elementets standardkonstruktør.

Bruksanvisning

1 Inkluder kartets header filen i C ++ program, slik at du kan få tilgang til klassen og medlemsfunksjoner. Sett denne linjen på toppen av kildefilen:

inkluderer <map>

2 Bruk en C ++ kart array å knytte relatert informasjon, for eksempel student navn og karakterer. Her er nøkkelen studenten navn. Som indeks av en matrise, bruker du den for å få tilgang til et element, bare i dette tilfellet er det ikke-numerisk:

bruker namespace std;

int main () {

kart <string, røye> dB;

3 Fylle kartet med data:

dB [ "Dave"] = 'F';

dB [ "Cindy"] = 'B';

dB [ "Andreas"] = 'A';

dB [ "Dave"] = 'C'; // Dave klasse bedre.

4 Slett Andreas fra tabellen når han slipper klassen:

dB.erase ( «Andreas");

5 Teste om matrisen er tom. Hvis det ikke er det, så viser størrelsen:

if (! dB.empty ())

cout << "Database har: << dB.size () <<" studenter "<< endl;

6 Bruk en spesial pekeren, kartet iterator, for å iterere over kartet matrise og vise sine data til standard ut:

for (kart <string, røye> :: iterator im = dB.begin (!); im = dB.end (); im ++) {

cout << im-> første << "" << im-> andre << endl;

}

7 Fjern alle data fra databasen som følger:

dB.clear ();

Hint

  • For å teste om et element er i et kart, bruker du finner () -funksjonen og sammenligne iterator returnerte med iterator ved enden av kartet.
  • En STL multimap kan knytte flere verdier til én nøkkel.
  • Fordi tastene er opprettholdt i sortert orden, ser opp av data er noe lavere i et kart enn i andre rekker.