析构函数中的delete 问题

析构函数中的delete 问题,第1张

析构函数中应该是这样:(假设char变量名是str)if(str!=NULL)delete[]str;因为你是在成员函数中new的,有可能在你销毁对象时str并没有分配内存,而你却视图释放它指向的内存,当然会出错。加上if判断后就可以避免这种情况。

凡是 new 对应的 delete 就行了
在你的这个例子中
saved[3][3] 数组不是动态(new)分配的,
而其中的指针却是指向动态分配的数组
格式最好这样
static char saved[3][3] = {
{ ( new char[10] ), ( new char[10] ), ( new char[10] ) },
{ ( new char[10] ), ( new char[10] ), ( new char[10] ) },
{ ( new char[10] ), ( new char[10] ), ( new char[10] ) }
};
循环 delete
for ( int i = 0; i < 3; i++ ) {
for ( int j = 0; j < 3; j++ ) {
delete [] saved[i][j];
}
}

那么可参考以下的照片恢复步骤1首先需要在电脑上下载iTunes软件,将手机连接电脑,用iTunes备份手机数据。2备份完成后,打开互盾苹果手机照片恢复软件,选择“从iTunes备份文件恢复”,找到刚才的备份文件,进行扫描。3软件扫描完成后,选择界面左边的“”,找到我们需要恢复的记录,勾选之后点击右下角的导出就可以完成恢复了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13218687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-22
下一篇 2023-06-22

发表评论

登录后才能评论

评论列表(0条)

保存