有一个结构,
struct myStruct
{
LONG x;
LONG y;
//之后这里可能加入第三个成员
};
-----------------------------------------------------------------------
现在需要做一个CMap类,它的KEY就是这个结构,方便快速查找
可能需要几十亿到几百亿次的生成KEY用于 CMap::Lookup / CMap::SetAt
所以,散列化成KEY的效率要高.
之前,类似的,我一般转成CString("x,y") 的形式,直接使用 CMapStringToOb 来查找.
但这次查找的次数非常多,所以KEY的生成要有较高的效率.
------解决思路----------------------
找hash?
------解决思路----------------------
如果不是字符串,使用合成值作为键值
使用32位值可能比较合适,可以 (x % 65536)<<16+(y % 65536)
------解决思路----------------------
我觉得建立map会花时间 查询比较快吧