我正在通过模板创建一个HashTable类。虽然,在处理字符串或任何数值数据类型时,我似乎无法找到保持模板性质的方法(更多只是整数)。只要HashKey是string类型,这就是我所拥有的代码。
template<typename HashKey>
size_t HashTable<HashKey>::myhash(const HashKey & x) const
{
unsigned int hashVal = 0;
for (unsigned int i = 0; i < x; i++)
hashVal = (hashVal << 5) ^ x[i] ^ hashVal;
return hashVal % hashTable.size();
};
是否有任何方法可以让它使用类似
之类的东西unsigned int hashVal = 0;
hashVal = (hashVal << 5) ^ x ^ hashVal;
return hashVal % hashTable.size();
这里有任何帮助吗?