这样会不会有内存泄露

昊叔 2007-12-11 11:21:25

int* pArr = new int[10];
delete []pArr;
pArr = new int[50];
delete []pArr;
...全文
605 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
fish6344 2008-01-27
  • 打赏
  • 举报
回复
int* pArr = new int[10];
delete []pArr;

当如上 'delete []pArr'执行后,pArr可以认同为一个无效指针(NULL),即空的int指针。再为其指定新的内存地址,例如:

pArr = new int[50];

于是,pArr指向了新的堆内存地址(正好,我这样用过),即一个匿名的int型长度为50的数组。

接着,你:

delete []pArr;//正确的C++程序员!

因此,综上所述,如大家所说,没有内存泄漏!
NKLoveRene 2008-01-27
  • 打赏
  • 举报
回复
。。。
jf
ydlchina 2008-01-27
  • 打赏
  • 举报
回复
只剩接分了
silendream 2008-01-27
  • 打赏
  • 举报
回复
乖~ 真壮观!
草原可可 2008-01-27
  • 打赏
  • 举报
回复
不会的 呵呵
s039074 2008-01-26
  • 打赏
  • 举报
回复
感谢25楼,学习了。
skytiger_z 2008-01-25
  • 打赏
  • 举报
回复
不会的哈。
不过可以注意一下delete []...的使用。
ni_in 2008-01-25
  • 打赏
  • 举报
回复
不会的啦。没必要用try 和catch.
add08 2008-01-25
  • 打赏
  • 举报
回复
如果lz还不放心,可用BoundCheck检查一下
add08 2008-01-25
  • 打赏
  • 举报
回复
同意dnboy 的写法。
或者这样写
try
{
...
}
catch()
{
...
}
calss_cyl 2008-01-25
  • 打赏
  • 举报
回复
蹭分~~~~
hydra1101 2008-01-24
  • 打赏
  • 举报
回复
guyue6670

pArr = malloc ...
这个要判断是否NULL
对于c++的new,是抛出exception
美丽海洋 2008-01-24
  • 打赏
  • 举报
回复
不会泄漏

这样更好

int* pArr = NULL;
pArr = new int[10];
if (NULL != pArr)
{
delete []pArr;
pArr = NULL;
}
pArr = new int[50];
if (NULL != pArr)
{
delete []pArr;
pArr = NULL;
}
gunsand 2008-01-24
  • 打赏
  • 举报
回复
呵呵
昊叔 2008-01-23
  • 打赏
  • 举报
回复
OK
skytiger_z 2007-12-13
  • 打赏
  • 举报
回复
不会.
dnboy 2007-12-12
  • 打赏
  • 举报
回复
int*   pArr   =   NULL;
pArr = new int[10];
if (NULL != pArr)
{
delete []pArr;
pArr = NULL;
}
pArr = new int[50];
if (NULL != pArr)
{
delete []pArr;
pArr = NULL;
}


Plocklsh 2007-12-12
  • 打赏
  • 举报
回复
不会泄露内存
在创建了就删除了
nimda321 2007-12-12
  • 打赏
  • 举报
回复

这么写:

if(int* pArr = new int[10])
{
delete []pArr;
pArr = NULL;
}

if (pArr = new int[50])
{
delete []pArr;
pArr = NULL;
}

按照您的意思写的。实际中谁要这么写,首先扣掉这个月的所有奖金,再加罚半月工作,拿上司开涮,小子不想活了啊^_^



guojh021 2007-12-12
  • 打赏
  • 举报
回复
我估计楼主的意思想泄露内存!

个人观点~
加载更多回复(32)

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧