Sådan bruges Map STL Container Class

C ++ kort container klasse implementerer en-til-en mapping mellem en unik nøgle og en værdi.Nøglen sorterer Nøgleværdiparrene på kortet.Den [] operatør er STL kortets hyppigst anvendte offentlige metode.Angivelse af en central værdi i de firkantede parenteser returnerer en reference til den tilsvarende værdi.Hvis nøglen ikke eksisterer, indsætter programmet den og returnerer en reference til elementets standard-constructor.

hvad du har brug

  • Avanceret C ++ viden
  • C ++ compiler med IDE, såsomsom Borland C ++ Builder

Instruktioner

  1. Medtag kortet header fil i dit C-program ++, så du kan få adgang til klassen og dens medlemslande funktioner.Put denne linje øverst på din kilde fil:

    inkluderer & lt;kort & gt;
  2. Brug et C ++ kort array til tilknytte relaterede oplysninger, såsom de studerendes navne og kvaliteter.Her nøglen er elevens navn.Ligesom indekset for et array, du bruger det til at få adgang til et element, kun i dette tilfælde er det ikke-numer

    isk:

    hjælp namespace std;

    int main () {

    map & lt;streng, fjeldørred & gt;dB;

  3. befolke kortet med data:

    dB ["Dave"] = 'F';

    dB ["Cindy"] = 'B';

    dB ["Andreas"] = 'A';

    dB ["Dave"] = 'C';// Daves kvalitet forbedres.

  4. Slet Andreas fra array, da han falder klassen:

    dB.erase ("Andreas");

  5. Test om array er tom.Hvis det ikke er, derefter vise sin størrelse: (! DB.empty ())

    hvis

    cout & lt; & lt;"Database har: & lt; & lt; dB.size () & lt; & lt;" studerende "& lt; & lt; endl;

  6. Brug et specielt formål pointer, kortet iterator, at gentage hele kortet array og displaysine data til standard output:

    for (! map & lt; streng, char & gt; :: iterator im = dB.begin (); im = dB.end (); im ++) {

    cout & lt; & lt; im-& gt; første & lt; & lt; "" & lt; & lt; im- & gt; sekund & lt; & lt; endl;

    }

  7. Fjern alle data fra databasen som følger:

    dB.clear ();

Tips & amp; Advarsler

  • For at teste, om et element er i et kort, skal du bruge find () funktion og sammenligne iterator vendte tilbage mediteratoren ved udgangen af ​​kortet.
  • En STL Multimap kan knytte flere værdier med en nøgle.
  • Fordi tasterne holdes i sorteret orden, den ser op af data er noget langsommere i et kort end i andre arrays.

Ressourcer

  • Cplusplus.com tilbyder komplette C ++ tutorials.
  • Bruceeckel.com tilbyder to online bøger i C ++.
  • C / C ++ Brugere Journal er rettet mod C ++ udviklere.
452
0
1
C / C ++ Programming