【发布时间】:2011-05-13 03:49:23
【问题描述】:
我正在编写一种类框架,我需要在其中获取对象的哈希值,以便将它们存储在哈希表中。
所以如果我有:
class A {
int a;
};
class B : public A {
const char* str;
};
class C : public A {
double d;
otherClass* oc;
};
我需要能够通过散列函数运行B's 或C's 以获得对象的散列。
我应该怎么做?我想过简单地做sizeof(thing) 并对原始字节进行散列,但这是一个好方法吗?我也想过在基类中包含virtual uint_32 hash() = 0,但是必须为每个子类实现它是次优的。
【问题讨论】:
标签: c++ class hash hashtable hierarchy