C++内存释放问题

C++中如何释放非动态分配的内存呢?比如我有一个10000*10000的二维数组,但不是用new的方式动态获得的,所以不能用delete释放。但是程序运行到后面之后这个数... C++中如何释放非动态分配的内存呢?比如我有一个10000*10000的二维数组,但不是用new的方式动态获得的,所以不能用delete释放。但是程序运行到后面之后这个数组又不再需要了,想释放掉,有办法做到吗?
还是说这种问题在编写代码的时候就要用动态内存的方式处理?
求指导,多谢!!
展开
 我来答
LR63H
2014-06-21 · 超过47用户采纳过TA的回答
知道答主
回答量:97
采纳率:100%
帮助的人:90.8万
展开全部
C++中操作内存的一条重要准则就是不能让指向new出来的内存指针丢失。如果只是临时变量,建议不要用new的方式,而用局部变量的方式。如果不能使用局部变量,那么一定记得在函数return之前用delete释放掉,如果有多个return,那么每个return之前都要delete。
希望对你能有所帮助。
enpherrr
推荐于2016-01-27 · TA获得超过305个赞
知道小有建树答主
回答量:264
采纳率:100%
帮助的人:288万
展开全部
如果是你自己申请的内存才需要释放。如果是你只是一个局部变量,
比如这样定义的int arr[10000][10000],就不需要释放。系统会自动释放的
更多追问追答
追问
如果要是在main函数中定义的变量呢?比如说这个数组在前半段有用,后半段想删掉来节省内存,能不能做到?
我问这个问题是想和matlab语言比较下,matlab语言可以用《clear 变量名》 的方式来释放内存,不知道C++可不可以,据我所知好像不行。。。。
追答
一句话:如果不是你手动申请的,都不需要你操心。
即使是在main函数中定义的,如果不是你手动申请的,也不需要你操心。会自动释放。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式