六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

C++ delete删除动态分配的内存

[复制链接]

升级  40%

96

主题

96

主题

96

主题

举人

Rank: 3Rank: 3

积分
320
 楼主| 发表于 2013-2-4 22:20:48 | 显示全部楼层 |阅读模式
 
耗尽内存

尽管现代机器的内存容量越来越大,但是自由存储区总有可能被耗尽。如果程序用完了所有可用的内存,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 是不合法的。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表