Como usar sgi hash_table no VS2005?
Pergunta
Eu escrevi um projeto C ++ no VS2005, e os lotes usados ??do recipiente STL com a sua mais-in STL. No entanto, descobri STL no VS2005 não tem um hash_map nele, eu quero usar SGI hash_map. Como posso mudar o meu projeto para STL uso SGI?
Obrigado por método de Brian, ele funciona! E é simples.
Solução
VS2005 tem um hash_map:
#include <hash_map>
stdext::hash_map
Se você ainda quer que você pode baixar o STL sgi aqui . Você deve ser capaz de apenas definir o diretório para o local sgi incluir. Ele vai ter precedência sobre o VC ++ global incluem diretórios.
Outras dicas
Eu não sei se VS2005 tem TR1, mas se tiver (ou se você decidir mais tarde para usar outro compilador que tem isso), você pode usar unordered_map
:
#include <tr1/unordered_map>
std::tr1::unordered_map mymap;
Além disso, para ser completo, GCC (que costumava ter <hash_map>
) tem hash_map
em <ext/hash_map>
(em um namespace diferente). Em versões recentes do GCC, você também pode usar <tr1/unordered_map>
.