我有一个叫做SpriteX
的类,它基本上是一个普通的精灵。我也有一个叫_Drawables
的课程,它有一个成员std::vector<SpriteX*>
。在main()
中,我创建的每个精灵都可以插入到_Drawables
容器中,然后可以调用drawAll()
方法绘制std::vector
中的所有SpriteX
对象。从类中删除指向这个的指针?
每个SpriteX
对象都知道指向自己的指针位于哪个索引处,并且在其析构函数中,它将指针设置为NULL
。但我想彻底销毁指针,而不是将其设置为NULL
。但是删除指针安全吗?如果我在析构函数中使用delete
,并调用析构函数,是否会导致循环?有什么办法可以释放内存吗?
备注:名称'_Drawables'在C++中是非法的;你应该重命名该类。以下划线+大写字母开头的名称保留用于实施。 – Philipp 2012-04-14 22:32:33