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