2017-01-25 3 views
0

Ich habe eine std::map<CString,CString> die ich anschließend iterieren, nachdem es ausgefüllt ist.Sortierte Karte <CString, CString> möglich?

Ist es möglich, diese Karte nach dem Schlüsselwert zu sortieren? Der Schlüssel ist ein Name. Wenn ich also die Karte iteriere, möchte ich die Namen in A-Z-Reihenfolge haben.

Antwort

1

std::map ist ein Standard-C++ - spezifischer Container, der die Daten bereits nach Schlüsseln sortiert speichert. Es muss also nicht sortiert werden, nachdem es ausgefüllt wurde. Aber um die Fälle von doppelten Schlüsseln besser zu behandeln, sollten Sie std::multimap verwenden, da name dupliziert werden kann, wenn Sie als Schlüssel verwendet werden.

Auch wird es besser sein, wenn Sie CMap Class verwenden, da das Mischen von Standard-C++ - und Windows-Klassen etwas ungeschickt scheint.

+1

Ich habe nicht erkannt, dass eine Karte bereits basierend auf Schlüssel sortiert wurde. Vielen Dank. Ich habe bisher 'CMapStringToString' verwendet, aber das * nicht * verwaltet die Werte sortiert. –