Um std :: map que acompanha a ordem de inserção?

Atualmente tenho umstd::map<std::string,int> que armazena um valor inteiro em um identificador de string único, e eu procuro com a string. Ele faz basicamente o que eu quero, exceto que ele não monitora o pedido de veiculação. Então, quando eu percorrer o mapa para imprimir os valores, eles são classificados de acordo com a string; mas eu quero que eles sejam classificados de acordo com a ordem de (primeira) inserção.

Eu pensei em usar umvector<pair<string,int>> em vez disso, mas eu preciso procurar a string e incrementar os valores inteiros cerca de 10.000.000 vezes, então eu não sei se umstd::vector será significativamente mais lento.

Existe uma maneira de usarstd::map ou existe outrastd recipiente que melhor se adapte às minhas necessidades?

[Estou no GCC 3.4 e provavelmente não tenho mais do que 50 pares de valores no meustd::map].

Obrigado.

questionAnswers(14)

yourAnswerToTheQuestion