首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求有关delete的一个解释,该怎么处理

2012-03-25 
求有关delete的一个解释今天我在看书的时候,突然想到了一个有关delete的问题,先把跟问题有关的源代码写上:

求有关delete的一个解释
今天我在看书的时候,突然想到了一个有关delete的问题,先把跟问题有关的源代码写上:
#include<iostream>
using namespace std;
int main()
{
char *c;
c=new char[50];
cin>>c;
cout<<c<<endl;
delete []c;
return 0;

  我想问的是:在这段代码中,假设把第9行的delete[]c改成delete c,结果会有什么不一样吗?我单步执行试了一下,发现好像没有什么不一样……求高人解答!

[解决办法]

探讨delete c的话 系统就少回收了内存.

[解决办法]
探讨

我调试过,new c[size] c前面4字节会保存 c数组的大小. 如果delete c 我觉得应当是会少回收内存.
想当然的。
反正delete c是错误的写法。

[解决办法]
delete和delete []用在内置类型上时是一样的
两者不同之处在于析构,delete只析构指针指向的变量
[解决办法]
char为内部数据类型,没有专门的析构函数。
对于内部数据库类型,delete 与delete []效果没什么区别。
但是从编程风格来说,delete数组最好都使用delete [],比较严谨点。

热点排行