子弹物理由于无效引用而崩溃



我正在制作一个子弹物理游戏,其中我有一个平台类,它包含一个btBoxShape、btDefaultMotionState和一个btRigidBody作为成员。当退出我的游戏时,它崩溃了。我将平台对象存储在std::向量中,我认为这就是问题所在。当我推回更多平台时,向量会在内存中调整大小并移动。这意味着,无论指向刚体的形状和运动状态的指针是无效的。我应该如何解决这个问题?

std:deque不会使引用无效。

我能想到几个选项。

固定大小的std::array/std::vectorreserve()),如果可能的话

std::vector<Platform*>您可能应该在这里使用智能指针,但基本上是分配自己,并在vector中只存储指针。

相关内容

  • 没有找到相关文章

最新更新