微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++ 中是否允许“删除这个”?

如何解决C++ 中是否允许“删除这个”?

C++ FAQ Lite 有一个专门用于此的条目

我认为这句话很好地总结了它

只要你小心,一个对象自杀是可以的(删除这个)。

解决方法

delete this;如果删除语句是将在该类的实例上执行的最后一条语句,是否允许?当然,我确定由this-pointer
表示的对象是newly-created 的。

我正在考虑这样的事情:

void SomeModule::doStuff()
{
    // in the controller,"this" object of SomeModule is the "current module"
    // now,if I want to switch over to a new Module,eg:

    controller->setWorkingModule(new OtherModule());

    // since the new "OtherModule" object will take the lead,// I want to get rid of this "SomeModule" object:

    delete this;
}

我可以这样做吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。