指向可能存在或不存在的对象的向量的向量

时间:2013-02-13 17:41:44

标签: c++ pointers vector

问题在于:我正在使用SFML制作游戏,我希望有一个sf :: Drawable *的向量,所以我可以简单地做windowManager.add(randomGameSprite),但我遇到的问题是我想要能够拥有它所以我可以删除randomGameSprite而无需手动从窗口中删除指针。有没有办法让它在尝试绘制之前检查对象是否存在?

我正在使用C ++ 11,但智能指针在我尝试的内容中没有太大帮助。我尝试使用std :: shared_ptr,但它使drawables保持活着。

1 个答案:

答案 0 :(得分:8)

您可以将weak_ptr<T>存储在矢量中。弱指针不会使对象保持活动状态:如果对象的所有共享指针超出范围,弱指针将自动失效。

相关问题