Eine std :: map, die die Reihenfolge der Einfügung festhält?

Ich habe derzeit einestd::map<std::string,int> das speichert einen ganzzahligen Wert zu einem eindeutigen Zeichenfolge-Bezeichner, und ich sehe mit der Zeichenfolge nach. Es macht meistens das, was ich will, außer dass es die Einfügereihenfolge nicht verfolgt. Wenn ich also die Karte durchlaufe, um die Werte auszudrucken, werden sie nach der Zeichenfolge sortiert. aber ich möchte, dass sie nach der Reihenfolge der (ersten) Einfügung sortiert werden.

Ich dachte darüber nach, eine zu verwendenvector<pair<string,int>> Stattdessen muss ich die Zeichenfolge nachschlagen und die ganzzahligen Werte etwa 10.000.000 Mal erhöhen, damit ich nicht weiß, ob astd::vector wird deutlich langsamer sein.

Gibt es einen Weg zu benutzenstd::map oder gibt es einen anderenstd Behälter, der besser zu mir passt?

[Ich bin auf GCC 3.4 und habe wahrscheinlich nicht mehr als 50 Wertepaare in meinemstd::map].

Vielen Dank.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage