AFAIK,CMap::InitHashTable
应该在将任何元素添加到地图之前调用该方法。换句话说,在将第一个元素添加到 CMap 对象后,哈希表的大小就无法更改。
同样来自 MSDN To minimize collisions, the size should be roughly 20 percent larger than the largest anticipated data set
,.
所以我的问题是,如果我创建一个具有默认哈希表大小(即 17)的 CMap 对象,然后向其中添加(例如)大约 40 个元素,会发生什么情况?我们在这里假设没有两个键会生成相似的散列。