Я не знаю, имеет ли VS2005 TR1, но если он имеет (или если вы позже решите использовать другой компилятор, который имеет его), вы можете использовать unordered_map
:
#include <tr1/unordered_map>
std::tr1::unordered_map mymap;
Также, для полноты, GCC (который раньше имел <hash_map>
) имеет hash_map
на <ext/hash_map>
(в другом пространстве имен). В последних выпусках GCC вы также можете использовать <tr1/unordered_map>
.