¿Un std :: map que hace un seguimiento del orden de inserción?

Actualmente tengo unstd::map<std::string,int> que almacena un valor entero en un identificador de cadena único, y busco la cadena. Hace casi todo lo que quiero, excepto que no realiza un seguimiento del orden de inserción. Entonces, cuando itero el mapa para imprimir los valores, se ordenan de acuerdo con la cadena; pero quiero que se ordenen de acuerdo con el orden de (primera) inserción.

Pensé en usar unvector<pair<string,int>> en cambio, pero necesito buscar la cadena e incrementar los valores enteros aproximadamente 10,000,000 veces, así que no sé si unstd::vector Será significativamente más lento.

¿Hay una manera de usarstd::map o hay otrostd contenedor que mejor se adapte a mi necesidad?

[Estoy en GCC 3.4, y probablemente no tenga más de 50 pares de valores en mistd::map].

Gracias.

Respuestas a la pregunta(14)

Su respuesta a la pregunta