C++ delete删除动态分配的内存
耗尽内存
尽管现代机器的内存容量越来越大,但是自由存储区总有可能被耗尽。如果程序用完了所有可用的内存,new 表达式就有可能失败。如果 new 表达式无法获取需要的内存空间,系统将抛出名为 bad_alloc 的异常。我们将在第 6.13 节介绍如何抛出异常。
撤销动态创建的对象
动态创建的对象用完后,程序员必须显式地将该对象占用的内存返回给自由存储区。C++ 提供了 delete 表达式释放指针所指向的地址空间。
delete pi;frees the memory associated with the int object addressed by pi.
该命令释放 pi 指向的 int 型对象所占用的内存空间。
<div class="docNote">
如果指针指向不是用 new 分配的内存地址,则在该指针上使用 delete 是不合法的。
页:
[1]