delete[ ]str只能回收new[ ];则两者必须成对出现
char *p="sdfgsdg";
delete [ ]p;//这个操作是错误的,p是指向常规存储区,不能修改,程序会报错。
切记delete和new成对出现,delete[ ] 和new[ ]成对出现。
还有在类中初始化变量的时候,例如类中含有成员变量 char *str;
在构造函数和拷贝构造函数中要使用new[ ],这样子才能在析构函数中使用delete[ ]。
delete[ ]str只能回收new[ ];则两者必须成对出现
char *p="sdfgsdg";
delete [ ]p;//这个操作是错误的,p是指向常规存储区,不能修改,程序会报错。
切记delete和new成对出现,delete[ ] 和new[ ]成对出现。
还有在类中初始化变量的时候,例如类中含有成员变量 char *str;
在构造函数和拷贝构造函数中要使用new[ ],这样子才能在析构函数中使用delete[ ]。