J'ai actuellement un std::map<std::string,int>
qui stocke une valeur de nombre entier à un unique identificateur de chaîne, et je ne regarde jusqu'à la corde. Il n'est surtout ce que je veux, sauf qu'il ne garde pas la trace de l'ordre d'insertion. Alors, quand je itérer la carte à imprimer les valeurs, ils sont triés en fonction de la chaîne; mais je veux qu'ils soient triés selon l'ordre de la (première) d'insertion.
J'ai pensé à utiliser un vector<pair<string,int>>
à la place, mais j'ai besoin de regarder pour la chaîne et incrémenter les valeurs entières sur les 10 000 000 de fois, donc je ne sais pas si un vecteur va être beaucoup plus lent.
Est-il possible d'utiliser std::map ou il y a une autre mst récipient qui convient le mieux à mon besoin?
[Je suis sur GCC 3.4, et j'ai probablement pas plus de 50 paires de valeurs dans mon std::map].