C++程序运行时,是不是会不停占用新内存?至于内存释放是什么意思?
是不是正常的程序都存在占用内存后就释放内存?程序中的Delete是什么意思?是不是如果内存占用过高就容易出息死机现象,然后再重启的过程中内存就会自动释放?小弟不是专门C+...
是不是正常的程序都存在占用内存后就释放内存?程序中的Delete是什么意思?是不是如果内存占用过高就容易出息死机现象,然后再重启的过程中内存就会自动释放?小弟不是专门C++程序开发人员,只是要用到与之相关的设备,经常死机,暂时无法查出原因。谢谢!
展开
3个回答
展开全部
是不是正常的程序都存在占用内存后就释放内存?
这要分情况:非动态分配的内存是程序在运行中一直占用着的。动态分配的内存会随着数据的变化和程序的运行在动态变化的,有时会需要很多,有时不需要,在不需要时,对已分配的内存是否进行释放要看编程者对代码的控制 。 一般情况下,良好的程序会对动态分配的内存进行用完后就释放,在C++中一般是delete命令。 当然也存在程序设计和编写缺陷时,不释放,一味的申请,就会出现内存不段的被吞噬,造成内存泄露和内存碎片,导致机器运行出现问题。但这样的情况,在程序退出后或机器重起后会解决。
这要分情况:非动态分配的内存是程序在运行中一直占用着的。动态分配的内存会随着数据的变化和程序的运行在动态变化的,有时会需要很多,有时不需要,在不需要时,对已分配的内存是否进行释放要看编程者对代码的控制 。 一般情况下,良好的程序会对动态分配的内存进行用完后就释放,在C++中一般是delete命令。 当然也存在程序设计和编写缺陷时,不释放,一味的申请,就会出现内存不段的被吞噬,造成内存泄露和内存碎片,导致机器运行出现问题。但这样的情况,在程序退出后或机器重起后会解决。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你自己分配的内存,最好在使用完以后进行释放,不然容易导致内存泄露,就是你的程序运行越来越大,内存泄露小,程序运行时间不是很长那到无所谓,泄露严重或运行时间长久容易死。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询