gpt4 book ai didi

c++ - 什么时候释放内存?

转载 作者:IT王子 更新时间:2023-10-28 23:38:37 32 4
gpt4 key购买 nike

我已经创建了一个代码块,就像这样。

proc()
{
Z* z = new Z();
}

现在在方法 proc 中声明的指针将只在 proc 之前具有作用域。我想问一下 z 的 DTOR 什么时候会被自动调用。无论是控件从方法 proc 中出来还是我的应用程序关闭时。

最佳答案

根本不会调用析构函数。*z使用的内存会被泄露,直到应用程序关闭(此时操作系统将回收所有您的进程使用的内存)。

为避免泄漏,您必须在某个时候调用 delete,或者更好的是,使用智能指针。

关于c++ - 什么时候释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7646566/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com