简单的使用下:
- <span style="font-size:18px;">#include <stdio.h>
- #include <ext/hash_map>
- using namespace __gnu_cxx;
- int main(int argc, char** argv)
- {
- hash_map<int , int> hm;
- hm.insert(pair<int, int>(1, 23));
- hash_map<int, int>::iterator it;
- it = hm.find(1);
- hm.erase(it);
- return 0;
- }</span>
如果你希望在hash中使用std::string就需要多做一点点;你需要自己加上这段代码;
- <span style="font-size:18px;">#include <ext/hash_map>
- using namespace __gnu_cxx;
- namespace __gnu_cxx
- {
- template<> struct hash<string>
- {
- size_t operator()(const string& s) const
- {
- return __stl_hash_string(s.c_str());
- }
- };
- }
- int main(int argc, char** argv)
- {
- hash_map<string, int> hm;
- hm.insert(pair<string, int>(string("aaa"), 123));
- //其他操作
- return 0;
- }
- </span>