Het gebruik van de Kaart STL container klasse

De C ++ kaart container klasse implementeert één-op-één mapping tussen een unieke sleutel en een waarde.De belangrijkste sorteert de sleutelwaarde paren in de kaart.De operator [] is de STL kaart van de meest gebruikte publieke methode.Specificeren van een sleutelwaarde in de vierkante haken retourneert een verwijzing naar de overeenkomstige waarde.Als de sleutel niet bestaat, voegt het programma is en geeft een verwijzing naar het element default constructor.

wat je nodig hebt

  • Uitgebreid C ++ kennis
  • C ++ compiler met IDE, zoalszoals Borland C ++ Builder

instructies

  1. Include header-bestand van de kaart in uw C ++ programma, zodat u toegang tot de klasse en haar lid functies.Zet deze lijn op de top van je bronbestand:

    omvatten & lt;map & gt;
  2. Met een C ++ kaart array om gerelateerde informatie, zoals student namen en kwaliteiten associëren.Hier de sleutel is de naam van de leerling.Net als de index van een array, het te gebruiken hebt u toeg

    ang tot een element, maar in dit geval is het niet-numerieke:

    using namespace std;

    int main () {

    map & lt;string char & gt;dB;

  3. Populate de kaart met gegevens:

    dB ["Dave"] = 'F';

    dB ["Cindy"] = 'B';

    dB ["Andreas"] = 'A';

    dB ["Dave"] = 'C';// Dave's klas verbetert.

  4. Verwijder Andreas uit de array, toen hij laat de klas:

    dB.erase ("Andreas");

  5. Test of de array leeg is.Als het niet, de grootte weer te geven dan: (! DB.empty ())

    als

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

  6. Met een speciale wijzer, de kaart iterator te herhalen over de kaart array en weergavezijn data naar standaarduitvoer:

    voor (! map & lt; string char & gt; :: iterator im = dB.begin (); im = dB.end (); im ++) {

    cout & lt; & lt; im-& gt; eerste & lt; & lt; "" & lt; & lt; im- & gt; tweede & lt; & lt; endl;

    }

  7. Verwijder alle gegevens uit de database als volgt:

    dB.clear ();

Tips & amp; waarschuwingen

  • Om te testen of een element in een kaart, gebruik maken van de find () functie en vergelijk de iterator terug metde iterator aan het einde van de kaart.
  • Een STL multimap kan meerdere waarden associëren met één toets.
  • Omdat de sleutels worden onderhouden in gesorteerde volgorde, het opzoeken van gegevens in een kaart iets langzamer dan in andere arrays.

Resources

  • Cplusplus.com biedt complete C ++ tutorials.
  • Bruceeckel.com biedt twee online boeken in C ++.
  • De C / C ++ Users Journal is gericht op C ++ ontwikkelaars.
605
0
1
C / C ++ Programming