【发布时间】:2012-04-22 19:12:47
【问题描述】:
我知道,每当您使用传统指针分配 new 的东西时,都可以在 C++ 中说 delete this。事实上,我也知道如果你小心处理它是一个很好的做法。如果对象由std::shared_ptr 持有,我可以说delete this 吗?那应该调用析构函数,对吧?为了给你一个想法,我正在制作一个游戏,其中一艘船可以发射导弹,我想让导弹自行删除。
【问题讨论】:
-
使用
delete this删除对象是不是的好习惯。您必须小心处理的事实足以证明这一点。这是安排生命周期管理的一种容易出错的方式。
标签: c++ memory-management c++11 shared-ptr