Run*_*ble 1 c++ memory-management
可能重复:
对象是否应该在C++中删除自己?
在我的应用程序中,我正在创建许多"拥有自己"的对象 - 在创建它们并告知它们"go"之后,只有对象本身才能确定何时应该删除它.
例如,如果我正在编写游戏,我可能会有多个Enemy对象.只有Enemy对象知道什么时候应该死掉.
结果,我最终delete this在Enemy对象内部使用了一些成员函数.这是不好的形式?这是我应该避免的,如果是这样,处理这种情况的正确方法是什么?
需要注意的是,如果有太多的成员函数将自删除作为副作用,则在删除对象后很容易意外使用对象的引用.
避免这种情况的一种方法是推迟删除 - 也就是说,将对象放在列表中,并从游戏的主循环中删除刻度开始/结束时该列表上的所有内容.
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |