gpt4 book ai didi

c++ - 可以向任何方向延伸的对象的二维网格 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:44 25 4
gpt4 key购买 nike

创建可以在任何方向动态扩展的对象的二维网格的最佳方法是什么,而无需在凹形的空白部分分配内存?

我正在考虑让类包含指向相邻对象(一个代表北、东、南和西)的数据成员,但这似乎不是最好的方法,而且它也缺乏能够用绝对值(即 (6,-5))引用某个正方形。
如果问题看起来令人困惑,请提出,我会尝试更好地解释问题。

最佳答案

只是在这里抛出一个想法:

取一个键/值容器,比如说 std::map ,或自平衡二叉搜索树或类似的。

使用 64 位整数作为 key 。使用高 32 位作为 X 坐标,低 32 位作为 Y 坐标。从而找到点(x, y)你查查(((uint64_t)x) << 32) | y .

关于c++ - 可以向任何方向延伸的对象的二维网格 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com