gpt4 book ai didi

c++ - delete [] char *,内存问题

转载 作者:可可西里 更新时间:2023-11-01 18:42:34 26 4
gpt4 key购买 nike

我有一个全局指针变量

char* pointer = new char[500];
/* some operations... */

有一个单独的 FreeGlobal() 函数可以释放指针,如下所示:

delete[] pointer;

第一次调用函数时,它实际上释放了内存,现在指针是一个坏指针。但是当我们多次调用它时,它会抛出异常。

有没有办法在再次调用 delete [] 之前检查指针变量?解决方法是什么?这是一种不好的做法吗?

谢谢。

最佳答案

删除后将指针设置为空。您不应多次尝试删除相同的数据。

正如 GRB 在这篇文章的评论中提到的,调用 delete[] NULL 是绝对安全的。

关于c++ - delete [] char *,内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1408600/

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