Bei normalen Arrays oder Vectors läuft der Zugang über eine Index-Nummer, d.h. assoziiert Index mit dem Objekt
Maps dagegen speichern Paare von Werten, den key und den value.
Zugriff auf die Elemente erfolgt dann über den key, man nennt maps auch assoziativer Array.
Beispiel Wörterbuch:
#include <map> int main() { map< string, string > engdeut; engdeut["hello"] = "Hallo"; engdeut["world"] = "Welt"; engdeut["computer"] = "Rechner"; engdeut["physics"] = "Physik"; engdeut["physicist"] = "Physiker"; engdeut["physician"] = "Arzt"; }
Verwendung:
Oder sequentiell durchlaufen mit Iteratoren:
for ( map<string,string>::iterator it = engdeut.begin(); it != engdeut.end(); ++it ) { cout << setw(20) << it->first << // first => key setw(20) << it->second << endl; // second => value }
Eine Map ist eine Art Liste von Paaren. Diese Liste ist sortiert nach dem key. Deshalb: