c++中new和delete的用法

c++中new和delete的用法,第1张

在C++编程中,使用new分配数组可用delete释放。这里释放的是动态分配的数组空间,而不是静态分配的数组空间,详细步骤:

1、例如,我们动态创建了一个一维int数组arr,现在需要将它释放。

2、这时只需要使用delete[]数组名即可。

3、注意,要释放数组所占的内存,[]不能少。否则,用delete则不能完全释放数组所占内存空间。

4、例如,我们为一个二维数组arr动态分配了内存空间。现在需要将它释放。

5、这时候,单单使用一句delete[]arr是不够的。

6、而是应该先释放为二维数组的每行分配的空间(即delete[]arr[i]),再释放为行指针分配的空间(即delete[]arr)。

7、经过这样两步,动态分配的二维数组空间才算彻底地释放。至于多维数组的释放,其本质和二维数组是相似的,可以参考二维数组的方法。下图为编译运行截图。可以看到,顺利执行,没有非法的内存访问,也没有报错。

memcpy(pRet, &m_code, 4);

memcpy(pRet + 5, &m_state, 4);// 使用了new 之外的内存,delete 出错。

以上就是关于c++中new和delete的用法全部的内容,包括:c++中new和delete的用法、c++下面的程序为什么delete时出错、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9522651.html

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

发表评论

登录后才能评论

评论列表(0条)

保存