vc++2005 和 g++中使用hash_map

hash_map不在C++98/2003标准中,因此在VC++2005和g++中使用的方法略有区别。

【1】VC++2005
   
  
  
  
#include  < hash_map > // 注意头文件和namespace
using   namespace  stdext;

int  main()
{
    hash_map
<stringint> hmap;
    
return 0;
}



【2】g++
   
  
  
  
#include  < ext / hash_map >
using   namespace  __gnu_cxx;

//  需要自己写hash函数
struct  string_hash   
{   
    size_t 
operator()(const string& str) const   
    
{   
        
return __stl_hash_string(str.c_str());   
    }
   
}
;

int  main()
{
    hash_map
<stringint, string_hash> hmap;
    
return 0;
}



 

你可能感兴趣的:(C++,struct,String,ext,vc++)