gpt4 book ai didi

c++ - 以下代码是否可能存在内存泄漏?

转载 作者:太空狗 更新时间:2023-10-29 20:08:55 26 4
gpt4 key购买 nike

    unsigned char *bin_data;
unsigned char *bin_model;

bin_data = new unsigned char[200];
memset(bin_data, 0, 200);
bin_model = new unsigned char[200];
memset(bin_model, 0, 200);

我正在查看上面的代码,我有一种直觉,它可能会导致内存泄漏,但我逻辑上找不到原因。

我在想这是因为我们将指针 memset 为 0,数据的地址可能会丢失。我们想要做的只是在从将用于进一步处理的接口(interface)获取数据之前初始化 bin_data 和 bin_model,因为获取数据有可能失败。

上面的代码会不会有什么问题?

谢谢!

最佳答案

memset(bin_data, 0, 200);

...从 bin_data 指向的地址开始写入 200 个零。 memset不会将指针本身覆盖为零。地址保持不变。

如果此代码中存在内存泄漏,那将是由于缺少 delete[]

关于c++ - 以下代码是否可能存在内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50901838/

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