<pre name="code" class="cpp">#include <ext/hash_map>
using namespace __gnu_cxx;
namespace __gnu_cxx
{
template<> struct hash<const string>
{
size_t operator()(const string& s) const
{ return hash<const char*>()( s.c_str() ); } //__stl_hash_string
};
template<> struct hash<string>
{
size_t operator()(const string& s) const
{ return hash<const char*>()( s.c_str() ); }
};
}
typedef __gnu_cxx::hash_map<std::string, int> Myhash_map;
typedef __gnu_cxx::hash_map<std::string, int>::iterator Myiter;
Myhash_map myhashmap;
Myiter hashiter;
myhashmap[sCalledNum]=lAreaCode; //赋值
for(hashiter=myhashmap.begin(); hashiter!=myhashmap.end(); hashiter++) //遍历
cout<<hashiter->first<<" -> "<<hashiter->second<<endl;
hashiter = myhashmap.find("13904010000"); //查找
if(hashiter != myhashmap.end())
cout<<hashiter->first<<" -> "<<hashiter->second<<endl;
else
printf( "Can Not Find In Hash_Map\n");
linux hash_map的使用
最新推荐文章于 2024-05-08 15:09:41 发布