关于hash_map的介绍在
http://my.opera.com/typedef/blog/2007/03/20/stl-hash-map
有一份转载。
hash_map中需要两个函数,hash函数和比较函数,具体的说明在上面的链接中有说明,
gcc中有一个hash函数扩展,__stl_hash_string,从名字可以看出是针对string的。当然也可以像下面这样写:
inline size_t
__stl_hash_string(const char* __s)
{
unsigned long __h = 0;
for ( ; *__s; ++__s)
__h = 5*__h + *__s;
return size_t(__h);
}
没有评论:
发表评论