我正在为游戏编写一个状态管理器。我已经了解了我想要如何做到这一点的大部分逻辑。 我希望状态(将是类)在 StateManager 类的堆栈中进行处理。每个状态都会有暂停函数,并且堆栈将是STL堆栈。
当一个状态完成了它需要做的事情(例如:在暂停屏幕上,用户单击“返回游戏”)时,需要将其从堆栈中删除并删除。我当前的逻辑(不幸的是,我无法测试)是这样的:
国家完成了它的工作。 在它的更新函数中,当它发现它完成时,它会调用一个函数来清理状态。 该函数将处理任何需要绑定(bind)的直接 Unresolved 问题(如果有的话),从状态管理器堆栈中调用 pop 函数,并删除自身。
我要问的是:我可以从类内部删除类吗?
最佳答案
请参阅 C++-FAQ-lite:Is it legal (and moral) for a member function to say delete this?
As long as you're careful, it's OK for an object to commit suicide (delete this).
关于c++ - 我可以使用该类中的函数删除动态分配的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1551829/