这样子使用new指令,是否会不会引起内存陷漏。

zjlsyxf 2003-02-26 08:48:51
char * cc;
int i;
for(i=1;i<2000;i++)
{
cc=new char[i];
}
delete cc;
...全文
49 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suping 2003-02-26
  • 打赏
  • 举报
回复
不对,
for( i = 1; i<2000; i++ )
{
if( i==1 )
delete pch[0];
else
delete [] pch[i];
}
不知道可不可以
suping 2003-02-26
  • 打赏
  • 举报
回复
不对,
for( i = 1; i<2000; i++ )
{
if( i==1 )
delete pch[1];
else
delete [] pch[i];
}
不知道可不可以
suping 2003-02-26
  • 打赏
  • 举报
回复
一漏到底才叫爽!!泄漏的内存量= 1+2+...+1998,只得到最后分配的2000字节.

char *pch;
pch = new char(2000);
.
.
.
delete [] pch;
或者如下(不知道可不可以)
char *pch[2000];
int i;
for( i = 1; i < 2000; i++ )
{
pch[i] = new char(i);
}
.
.
.
for( i = 1; i<2000; i++ )
{
delete pch[i];
}
for(
duqiang2050 2003-02-26
  • 打赏
  • 举报
回复
//CaptainIII(山上人) :肯定会,你建立了1999个数组,只删除了最后一个。
就连最后一个数组也没删,只释放最后一个数组的第一位
freewing 2003-02-26
  • 打赏
  • 举报
回复
会产生很多垃圾内存
那个 delete cc;只能删除最后次会分配的2000个
CaptainIII 2003-02-26
  • 打赏
  • 举报
回复
肯定会,你建立了1999个数组,只删除了最后一个。
zjlsyxf 2003-02-26
  • 打赏
  • 举报
回复
up

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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