Std :: map, która śledzi kolejność wstawiania?

Obecnie mamstd::map<std::string,int> który przechowuje wartość całkowitą do unikalnego identyfikatora ciągu, i szukam z ciągiem. Robi to głównie to, czego chcę, z wyjątkiem tego, że nie śledzi kolejności wstawiania. Kiedy więc iteruję mapę, aby wydrukować wartości, są one sortowane według ciągu; ale chcę, aby były sortowane według kolejności (pierwszej) wstawki.

Myślałem o użyciuvector<pair<string,int>> zamiast tego, muszę wyszukać ciąg i zwiększyć wartości liczb całkowitych o 10 000 000 razy, więc nie wiem, czystd::vector będzie znacznie wolniejszy.

Czy istnieje sposób na wykorzystaniestd::map czy jest innystd pojemnik, który lepiej pasuje do mojej potrzeby?

[Jestem w GCC 3.4 i prawdopodobnie nie mam więcej niż 50 par wartości w moimstd::map].

Dzięki.

questionAnswers(14)

yourAnswerToTheQuestion