gpt4 book ai didi

c++ - 内存泄漏定位

转载 作者:行者123 更新时间:2023-11-28 05:11:27 25 4
gpt4 key购买 nike

我有下面的代码,问我这里有没有内存泄漏。我相信“函数”内部存在内存泄漏,因为在 a = new A(); 之后没有删除操作; .我说得对吗?

class A
{
public:
A(){};
~A(){};
private:
double d[10];
};

void function ( A* a)
{
delete a;
a = new A();
}

void main ( void)
{
A* p = new A();
function(p);
delete p;
}

最佳答案

这个程序应该会崩溃并且失去内存。

崩溃是因为 main 释放了内存 p,它已经在 function 中释放了。

丢失内存,因为在 function 中分配的 a 没有被返回,并且在 function 内部。

关于c++ - 内存泄漏定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429903/

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