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.