cent os 下使用hashmap + string
生活随笔
收集整理的這篇文章主要介紹了
cent os 下使用hashmap + string
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hash_map定義在__gnu_cxx名字空間下原型是: template<class _Key, class _Tp, class _HashFcn = hash<_Key>,class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp> >class hash_map;使用hash_map + Keytype: 需要自定義 _HashFcn, _EqualKey 如果只提供_Key, _Tp, 就需要自己特化hash<_Key>, equal_to<_Key>hash<_key> 定義在 __gnu_cxx下 equal_to<_Key> 定義在std 名字空間下使用string時: #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());} }; } 這樣就行, equal_to<string> 庫內部已經提供了
?
總結
以上是生活随笔為你收集整理的cent os 下使用hashmap + string的全部內容,希望文章能夠幫你解決所遇到的問題。