qimo601 发表于 2013-2-4 22:20:48

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]
查看完整版本: C++ delete删除动态分配的内存