我正在尝试通过模板在 C++ 中实现 HashTable。这是签名:
template<class T1, class T2>
class HashTable {
public:
void add(T1 a, T2 b);
void hashFunction(T1 key, T2 value)
{
// how to implement this function using key as a generic
// we need to know the object type of key
}
};
因此,我无法继续执行涉及通用键的实现。
在 Java 中,我可以轻松地将键转换为字符串,然后将键的哈希实现为字符串。但是,在 C++ 中,我知道有一个 RTTI 的概念,它可以动态地将对象转换为所需的对象。
如果此方法完全正确,如何实现该动态转换?
如果在这种情况下使用模板不是实现泛型的正确方法,那么请提出一些更好的方法。