GCC中使用hash_map

GCC中使用hash_map_学着站在巨人的肩膀上_百度空间

GCC中使用hash_map

hash_map就是利用hash表实现的一个map,在查找是具有更快的效率,前提是你使用了适当的hash函数。hash_map不是STL中的一部分,但大多数C/c++的编译器都提供了这个容器。GCC也不例外,我在winds下使用的IDE是code blocks,它使用的编译器就是GCC。因为hash_map不是STL中的一部分,所以使用起来也不是很异样。下面的是我搜索到的一些资料: 【1】http://zitronensaft.blogspot.com/2008/02/using-hashmap-on-gcc.htmlUsing hash_map on GCC

If you have tried to use some STL containers with GCC, such as hash_map:

// error: hash_map: No such file or directory
#include <hash_map>

int main()
{


// error: ‘hash_map’ is not a member of ‘std’
std::hash_map<int,int> hm;

return 0;
}

Then you have realized that the code above does not compile. That's because on GCC, hash_map is not regarded as a standard container, but rather as a extension included in the __gnu_cxx namespace. In order to use hash_map and other extended containers with a minimum impact in your code (which is very important if it's intended to be cross-platform), you can use the following solution:
#ifdef __GNUC__
#include <ext/hash_map>
#else
#include <hash_map>
#endif


namespace std
{

using namespace __gnu_cxx;
}


int main()
{


std::hash_map<int,int> hm;

return 0;
}

Hope that helps.

原文地址:https://www.cnblogs.com/lexus/p/2771342.html