gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 00:23:42 25 4
gpt4 key购买 nike

我正在为游戏编写状态管理器。对于如何执行此操作,我已经掌握了大部分逻辑。我希望状态(将是类)在 StateManager 类的堆栈中处理。每个状态都会有暂停函数,栈会是一个STL栈。

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

State 完成了它的工作。在它的 update 函数中,当它发现它完成时,它会调用一个函数来清理状态。此函数将处理任何需要绑定(bind)的直接松散端(如果有的话),从状态管理器堆栈调用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com