gpt4 book ai didi

c++ - C++如果在创建指向堆的指针后不调用 'delete'运算符怎么办?

转载 作者:行者123 更新时间:2023-12-02 09:54:56 26 4
gpt4 key购买 nike

我是C++的新手,我刚刚了解到,创建指向堆内存的new ed指针时,您必须手动对其进行delete,例如:

int *a = new int;
...
delete a;

但是,如果我不对它进行 delete怎么办?它会永远占据堆上的空间吗(不是字面意义上的永远,但您明白了)。我创建了一些项目,只是在其中进行测试并弄乱了它,在某些情况下,此后我没有使用 delete指针。因此,它是否由Visual Studio(我正在使用)自动获取 delete?还是现在为时已晚,我对此无能为力(以某种方式释放空间)?另外,我是否应该担心(因为我)?

最佳答案

程序终止后,操作系统将释放内存。那是2020年,因此所有现代操作系统都可以处理这些测试应用程序,因此对您没有任何危害。

也就是说,在程序运行时,该内存仍处于分配状态。这很糟糕,因为您不再使用该内存,并且浪费资源。

关于c++ - C++如果在创建指向堆的指针后不调用 'delete'运算符怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61002021/

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