11.如果在类的析构函数中调用delete this,会发生什么?

11.如果在类的析构函数中调用delete this,会发生什么?

会导致堆栈溢出。原因很简单,delete的本质是“为将被释放的内存调用一个或多个析构函数,然后,释放内存”。显然,delete this会去调用本对象的析构函数,而析构函数中又调用delete this,形成无限递归,造成堆栈溢出,系统崩溃。

posted @ 2023-08-02 21:58  CodeMagicianT  阅读(66)  评论(0编辑  收藏  举报