子弹物理因无效引用而崩溃?

时间:2013-08-17 14:21:25

标签: c++ pointers bulletphysics

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

2 个答案:

答案 0 :(得分:2)

std:deque不会使引用无效。

答案 1 :(得分:0)

我可以想到几个选项。

如果可能,

std::array / std::vector具有固定大小(reserve()

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