创建可以在任何方向动态扩展的对象的二维网格的最佳方法是什么,而无需在凹形的空白部分分配内存?我正在考虑让类包含指向相邻对象(一个代表北、东、南和西)的数据成员,但这似乎不是最好的方法,而且它也缺乏能够用绝对值(即(6,-5))引用某个正方形。如果问题看起来令人困惑,请提出,我会尝试更好地解释问题。 最佳答案 只是在这里抛出一个想法:取一个键/值容器,比如说std::map,或自平衡二叉搜索树或类似的。使用64位整数作为key。使用高32位作为X坐标,低32位作为Y坐标。从而找到点(x,y)你查查(((uint64_t)x).