模板哈希 - 字符串和整数的函数

时间:2014-10-23 04:51:26

标签: c++ templates hash-function

我正在通过模板创建一个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();

这里有任何帮助吗?

0 个答案:

没有答案