我可以使用该类中的函数删除动态分配的类吗?

son*_*hoc 2 c++ self-destruction

我正在为游戏写一个州经理.我已经掌握了大部分逻辑,因为我想要这样做.我希望状态(将是类)在StateManager类的堆栈中处理.每个状态都有暂停功能,堆栈将是STL堆栈.

当状态完成它需要做的事情时(例如:从暂停屏幕,用户点击"返回游戏"),它需要从堆栈中删除并删除.我现在的逻辑(不幸的是我无法测试)是这样的:

州完成其工作.在它的更新函数中,当它发现它完成时,它将调用一个函数来清理状态.此函数将处理需要绑定的任何立即松散的结束(如果有),从状态管理器堆栈调用pop函数,并删除自身.

我要问的是:我可以从内部删除一个类吗?

Igo*_*Oks 6

参见C++ - FAQ-lite:成员函数说法是否合法(和道德)delete this?

只要你小心,对象就可以自杀(删除它).