|
|
1
17
你可以使用
|
|
|
2
10
这是游戏开发中常见的事情。通常使用对象句柄系统,而不是Boost弱指针,因为我们需要底层的查找表是常量内存,而且有时我们需要一些Boost没有的附加信息或保证。
序列号是必需的,因为数组的大小是恒定的——最终,您将需要回收实体表条目,并且您可能会存储一个句柄,比如索引743,足够长,以便删除对象并将单元格743重新用于其他用途。如果您只是有一个指向指针列表的指针,那么最终会有一个指向完全不同对象的句柄,而不是空的。因此,我们给每个实体一个全局唯一的编号,并将其存储在句柄中。 当然,您可以为实体表使用std向量、映射、字典或其他类型的数据结构,但我们的要求通常是恒定内存、缓存一致性和绝对最大性能(因为handle_t::Get()每帧调用数千次)。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |