对于string,就必须自定义hash函数。
struct str_hash{
size_t operator()(const string& str)const {unsigned long __h = 0;
for (size_t i = 0 ; i < str.size() ; i ++)
__h = 5*__h + str[i];//这里为什么要*5
return size_t(__h);
}