Come utilizzare la mappa STL classe Container

November 6

La classe C ++ mappa contenitore implementa uno-a-uno tra una chiave unica e un valore. La chiave ordina le coppie di valori chiave nella mappa. L'operatore [] è il metodo pubblico utilizzato più frequentemente della mappa STL. Specificando un valore chiave nelle parentesi quadre restituisce un riferimento al valore corrispondente. Se la chiave non esiste, il programma inserisce e restituisce un riferimento al costruttore di default dell'elemento.

istruzione

1 Includere della mappa file di intestazione nel vostro programma C ++ in modo da poter accedere alla classe e le sue funzioni membro. Metti questa linea alla parte superiore del file di origine:

includere <map>

2 Utilizzare un C ++ mappa serie di associare informazioni correlate, come ad esempio i nomi degli studenti e gradi. Ecco la chiave è il nome dello studente. Come l'indice di un array, lo si utilizza per accedere a un elemento, solo in questo caso si tratta di non-numerica:

using namespace std;

int main () {

mappa <string, char> dB;

3 Popolare la mappa con i dati:

dB [ "Dave"] = 'F';

dB [ "Cindy"] = 'B';

dB [ "Andreas"] = 'A';

dB [ "Dave"] = 'C'; // Grado di Dave migliora.

4 Eliminare Andreas dalla matrice quando scende la classe:

dB.erase ( "Andreas");

5 Verificare se l'array è vuoto. Se non lo è, quindi visualizzare le dimensioni:

if (! dB.empty ())

cout << "Database ha: << dB.size () <<" studenti "<< endl;

6 Utilizzare un puntatore per un fine particolare, la mappa iteratore, per iterare attraverso l'array mappa e visualizzarne i dati in standard output:

per (mappa <string, char> :: iterator im = dB.begin ();! im = dB.end (); im ++) {

cout << im-> primo << "" << im-> seconda << endl;

}

7 Rimuovere tutti i dati dal database come segue:

dB.clear ();

Consigli e avvertenze

  • Per verificare se un elemento è in una mappa, utilizzare la funzione find () e confrontare il iteratore restituito con il iteratore alla fine della mappa.
  • Un multimap STL può associare più valori con una chiave.
  • Poiché le chiavi sono mantenute in modo ordinato, il alzando dei dati è più lenta in una mappa che in altre matrici.