关于new和delete的对应问题

frman 2006-04-13 04:55:17
如果int *a = new int; 那应该delete a;
如果int *a = new int[100]; 那应该delete []a;

如果BITMAPINFO * a = (LPBITMAPINFO) new BYTE[size];
那应该delete a; 还是delete []a ?
...全文
143 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
petunsecn 2006-04-15
  • 打赏
  • 举报
回复
在此int和BITMAPINFO一样都是数据类形,后者!!!
frman 2006-04-13
  • 打赏
  • 举报
回复
或者这样
我如果delete一个指针出错,应该怎么调试排错呢?

memory check error at 0x018AE760 = 0x00, should be 0xFD.
frman 2006-04-13
  • 打赏
  • 举报
回复
但是a是LPBITMAPINFO的,它也确实得到了一个BITMAPINFO的空间,是不是应该不能delete []a;呢
jixingzhong 2006-04-13
  • 打赏
  • 举报
回复
连续内存释放用 delete []a ...

如果用 delete a,
那么就会只释放 内存的第一个类型空间,
后面的内存没有释放,
发生泄漏 ....
xombat 2006-04-13
  • 打赏
  • 举报
回复
同意:后者。
ma100 2006-04-13
  • 打赏
  • 举报
回复
后者....
jinjiajie 2006-04-13
  • 打赏
  • 举报
回复
后者....

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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