c++ 如果被调用者删除调用者会发生什么?

标签 c++

如果被调用函数删除了定义调用者(成员)函数的对象,是否定义了 C++ 应用程序中的行为?调用者函数体的其余部分是否仍会执行?如果不访问任何成员变量,它能正确运行吗?

我之所以问是因为我在我的应用程序中发现了这种情况(使用成员函数指针的一些杂耍的结果)并且我很惊讶为什么它不会使我的应用程序崩溃。

最佳答案

是的,这是预期的行为。只要代码不访问任何非静态成员对象或函数,就没有理由不能继续运行。

关于c++ 如果被调用者删除调用者会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5131059/

相关文章:

c++ - 使用 boost split 方法时可以使用字符串作为分隔符吗?

c++ - Microsoft Media Foundation 中的多输入 MFT

c++ - 当两个 Linux 第三方库在其枚举中使用相同名称时,在 C++ 中该怎么办

c++ - 为类/信息隐藏创建内部和外部接口(interface)

c++ - 如何防止大于视口(viewport)的 Texture_2D 被缩放到 openGL 中的视口(viewport)

c++ - 我对 cin.getline() 做错了什么?

c++ - QLabel 像视频一样显示图像

c++ - 我可以在 Visual Studio 调试器中定义变量吗?

c++ - 在这种情况下什么更好 - `for` 或 `while`

c++ - 为什么我不能将新元素推回到列表中