我有一个类叫做 SpriteX
这基本上是一个通用的 Sprite 。我还有一个名为 _Drawables
的类(class)其中有一个成员 std::vector<SpriteX*>
.在 main()
我创建的每个 Sprite 都可以插入到 _Drawables
中容器,然后可以调用 drawAll()
绘制所有SpriteX
的方法std::vector
中的对象.
每个SpriteX
object 知道指向自身的指针位于哪个索引,并且在其析构函数中,它将指针设置为 NULL
.但我想彻底销毁指针,而不是将其设置为 NULL
.但是删除指针安全吗?如果我使用 delete
在析构函数中调用析构函数,这会导致循环吗?有没有办法释放内存。
最佳答案
If I use delete in the destructor and that calls the destructor, would that cause a loop?
是的,这可能会导致堆栈溢出和崩溃。
但是你不需要这样做,因为如果你在析构函数中,你已经在删除内存了,对吧? (比如,我希望你没有明确调用析构函数)
关于c++ - 从类中删除指向 this 的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10157055/