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

Ast*_*ome 3 c++ pointers vector

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

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

NPE*_*NPE 8

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