Access map-Wert über index?

Ich habe diese Karte:

m.insert(pair<int, string>(10, "map1"));
m.insert(pair<int, string>(11, "map2"));
m.insert(pair<int, string>(12, "map3"));
m.insert(pair<int, string>(13, "map4"));
m.insert(pair<int, string>(14, "map5"));

Dann lasse ich Benutzer geben Sie eine Zahl ein:

Please select:
1. Map1
2. Map2
3. Map3
4. Map4
5. Map5

Lassen Sie sagen, wenn Benutzer geben Sie 3 ein, wie bekomme ich den Wert: 12??

  • Hast du die Voraussetzung, richtig ? Ich denke, Sie wollte den Schlüssel durch das wissen, den Wert.
  • Wenn die ganze Zahl des Paares ist Ihr Wert, dann haben Sie Ihren Schlüssel-Wert-paar in umgekehrter Reihenfolge. Es sollte pair<string, int>. Dann wählt der Benutzer 3, dann Holen Sie es mögen: m[string("map") + string(itoa(selection))].
  • Ich dachte die routine, um das Menü anzuzeigen würde Durchlaufen die container, so dass der Menüpunkt wirklich so wäre (eine mehr als) den index. Die Antwort dann ist die Iteration der container zu identifizieren, was die option ist, genau wie getan wurde, um es anzuzeigen.
InformationsquelleAutor cpp_noob | 2011-02-11
Schreibe einen Kommentar