我正在尝试在 C++ 中实现一个类似于 Java 版本的哈希表
我希望它具有以下形式
template <class Key, class Value>
class hashtable {
...
}
很快我注意到我需要以某种方式将 Key 转换为数字,以便我可以使用简单的哈希函数
int h(int hashkey) {
return hashkey%some_prime;
}
但令人头疼的是,Key 类型仅在运行时才知道。是否可以在 C++ 中检查运行时的 Key 类型。或者我必须手动创建这个具有不同类型的哈希表类?这更容易做到但很难看。有人知道优雅的解决方案吗?