delete 和 delete[] 有什么区别呀? example:int *t;t=new int;...delete t;int *tp;tp=new int[6];...delete [] tp; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 delete 是释放单一的元素delete[] 是释放一个数组比如class a{int u;int i};a* a1;a1=new a;delete a1;a1=new a[30];delete[] a1;如果在此用delete的话,就可能会有内存漏洞 再说明一点:象单一的元素,如int,char ....这些数组是不需要用delete[]释放的但是对类的数组一定要用delete[]释放,不然析构函数是不会掉用的。 考虑有个类class cc{public:char * pc;cc(){pc = new char[100];};~cc(){delete pc;};};如果你这样分配cc * pcc = new cc[100];//调用了100个构造函数那释放时delete [] pcc;如果不加[]delete pcc;则后99个cc的析构函数则不会调用,这有内存泄漏 求能打开BMP JPEG并且能画线 放大缩小的范例 60分急求 求教,关于窗口控件的拉伸 为DentistryDoctor的MVP称号也不能顶上缺失的文凭散分 求SQL语句,在线等 如何得到灰度图的灰度值也就是灰度级别!! IE->查看->工具栏 里面的地址栏的选中不选中状态在注册表哪里可以修改? 高分求《Windows核心编程》的下载地址 大家好!有人知道怎样做灰化菜单吗?我要没有读入某个文件时菜单无效,当读入文件后菜单才激活! cegui中的窗口可以再次用opengl画线之类的么? ADO帮助? vc++中设计一个定时器的问题。。。。。。。 如何为Dialog添加状态条
delete[] 是释放一个数组
比如
class a{
int u;int i
};
a* a1;a1=new a;
delete a1;
a1=new a[30];
delete[] a1;如果在此用delete的话,就可能会有内存漏洞
但是对类的数组一定要用delete[]释放,不然析构函数是不会掉用的。
class cc{
public:
char * pc;
cc(){pc = new char[100];};
~cc(){delete pc;};
};如果你这样分配
cc * pcc = new cc[100];//调用了100个构造函数
那释放时
delete [] pcc;
如果不加[]
delete pcc;
则后99个cc的析构函数则不会调用,这有内存泄漏