成员函数中的'删除这个'的用处[重复]
可能重复:
可以使用“删除此”吗?删除当前对象?
对象是否应该在C ++中删除自己?
我刚刚在programmers.stackexchange上遇到过这个问题,看到了在成员函数中做一个
delete this;
的问题。
根据我的理解,这通常是禁止的,但是在某些情况下这可能是有用的。什么时候会有用,哪些技术原因没有?
没有找到相关结果
已邀请:
3 个回复
氏脑
电话后没有接触任何东西,你会没事的。但是很容易忘记这些事情,尝试访问成员变量并获得未定义的行为并花时间在调试器上。 也就是说,它在微软的组件对象模型(COM)中被用于释放组件时(注意,这并不像CashCow指出的那样,仅用于说明目的):
也就是说,在C ++中我们有智能指针(例如
)来管理对象的生命周期。鉴于COM是进程间的,并且可以从VB等语言访问,因此智能指针不是设计团队的选择。
校勒魏寡
常用于参考计数模式。当对象的引用计数降至零时,该对象将自行删除。如果没有进一步参考被删除的对象,则完全可以。它还要求所述对象驻留在堆/免费存储上。
草票