社区
新手乐园
帖子详情
新手问题,什么时候需要释放内存???
huis
2008-05-02 09:04:24
书上一直在提示注意内存泄露,要释放内存,,,那么都什么时候需要释放内存呢???总不知道那些变量需要释放,有一个统一的规定吗???
...全文
652
41
打赏
收藏
新手问题,什么时候需要释放内存???
书上一直在提示注意内存泄露,要释放内存,,,那么都什么时候需要释放内存呢???总不知道那些变量需要释放,有一个统一的规定吗???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
41 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shanleichicheng
2011-02-18
打赏
举报
回复
[Quote=引用 7 楼 michney 的回复:]
以后用不上,用完了,立即释放
c++里如果成员变量是指针,一般在析构函数里释放
如果在成员函数里面分配堆内存,记着离开之前释放就行
[/Quote]
内存什么时候在堆上分配??
ascent2006
2008-05-05
打赏
举报
回复
[Quote=引用 18 楼 visame 的回复:]
malloc--->free
new----->delete
记住下面这句话:
少女谁污染了谁负责,内存谁分配了谁释放
[/Quote]
牛!
Eleve
2008-05-05
打赏
举报
回复
[Quote=引用 18 楼 visame 的回复:]
malloc--->free
new----->delete
记住下面这句话:
少女谁污染了谁负责,内存谁分配了谁释放
[/Quote]
太tm经典了...
Soulic
2008-05-05
打赏
举报
回复
在使用malloc或者是new动态分配堆空间后,再不使用这些存储空间的时候,使用free或者是delete释放
CSGAOSHOU
2008-05-05
打赏
举报
回复
用句不好听的话叫作 过河就拆桥啊 这就是放内存
na_he
2008-05-05
打赏
举报
回复
malloc new globlalloc这是大家经常用到的分配内存的函数了,他们有自己相应的释放的函数了,那么大家在coding的时候要养成好的习惯,他们要成对出现了。
大家出现内存泄漏最多的恐怕是,在一个地方申请,而不一定就在这里释放了,而要等到使用者来释放了。这就要注意函数借口要设计写清楚是谁释放了,否则就会出问题了,呵呵!
还有就是链表,和数据中的内存了,要注意逐个释放了,不要漏掉了,问题最多的就是只delete头节点的了!
Irene12
2008-05-05
打赏
举报
回复
在使用malloc或者是new动态分配堆空间后,再不使用这些存储空间的时候,使用free或者是delete释放,换句话说就是你自己给分配的空间,你就的自己释放
r_swordsman
2008-05-04
打赏
举报
回复
[Quote=引用 29 楼 sunlu_eric 的回复:]
引用 27 楼 r_swordsman 的回复:
引用 1 楼 baihacker 的回复:
在那个内存不使用的时候需要释放
应该是不能使用之前释放
不是吧!就应该是“在那个内存不使用的时候需要释放 ”吧!
[/Quote]
应该是不能使用之前释放吧?
sunlu_eric
2008-05-04
打赏
举报
回复
[Quote=引用 27 楼 r_swordsman 的回复:]
引用 1 楼 baihacker 的回复:
在那个内存不使用的时候需要释放
应该是不能使用之前释放
[/Quote]
不是吧!就应该是“在那个内存不使用的时候需要释放 ”吧!
chen_yuan
2008-05-04
打赏
举报
回复
使用动态内存后,不要用的时候就应该释放掉,防止造成内存泄露。
new-----delete(delete [])
malloc--free
kaz33
2008-05-04
打赏
举报
回复
希望能帮到你!!
kaz33
2008-05-04
打赏
举报
回复
malloc--->free
new----->delete
malloc,free和new,delete是成对使用的,就是在你用malloc(函数)或是new(关键字)动态分配内存空间的时候就要与之相对应的使用free或delete释放内存
用int,char,double申请的内存空间都是在栈内存,栈内存空间的特点是,你用变量的时候申请的空间都是连续的,申请的这段空间有大小限制(好像是1M),而且在使用完后系统会自动帮你释放这个空间回收内存,而用malloc或new分配的内存空间是在堆内存里的,堆内存空间的特点是,你申请的空间不是连续的,没有大小限制,而且使用完后系统不会帮你释放这个空间,必须你自己来释放,回收内存,这时就会用到free(函数)或delete(关键字),不然就会出现内存泄露
内存泄漏是指这段空间你没有释放,别的程序就不能使用,不能往这段空间写入数据,你申请的这样的空间多了,内存能使用的空间就会越来越少,容易造成死机,蓝屏等,这就是内存泄漏.
在你释放了空间后,最好还要把指向那段空间首地址的指针赋为NULL,如int *i = new int; delete i; i=NULL; 因为在你释放了那段空间后,你的指针指向的地址没有变,还是指向那段被释放的空间,以后你在使用它,容易报错.
r_swordsman
2008-05-04
打赏
举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
在那个内存不使用的时候需要释放
[/Quote]
应该是
不能使用
之前释放
fallening
2008-05-04
打赏
举报
回复
写了
int *i = new int;
之后,马上写
delete i;
然后光标上移一格,在这两行之间插入新的代码段
别的也是这样
skran
2008-05-04
打赏
举报
回复
应该是不需要使用的时候吧.
Treazy
2008-05-03
打赏
举报
回复
有分配,就应该有释放
如果没有,那就是一个bug
hmsuccess
2008-05-03
打赏
举报
回复
就像这个int* han = new int[2];
han[0]=1;
han[1]=2;
.......
delete [] han;
这儿delete就是放了动态数组所占的空间,返回给内存池
我是风
2008-05-03
打赏
举报
回复
不再使用的时候
cprime
2008-05-03
打赏
举报
回复
如果你要自己来释放不在用的内存空间的话,你可以用new来申明空间,用delete来释放。如果你是静态的申明一个个空间的话,系统会来处理为它所分配的空间。
yrnaaa
2008-05-03
打赏
举报
回复
内存不用了就要释放。
malloc --》 free
new -----> delete
简单地说, 在一个函数中,你申请了一块动态内存,函数结束时你要释放它(当然要保证不被其他函数使用)。外,如果使用于消息的结构体,那就要看平台的实现了,是处理完这条消息系统给你释放还是需要你自己释放,一般消息是系统给释放的。
加载更多回复(21)
Ubuntu16.04用命令
释放
内存
Ubuntu
新手
,从来不知道要
释放
内存
一事,直到有一天
内存
崩了。。。然后害我重装了系统。。。 使用深度学习跑代码尤其占
内存
多,跑完一次几乎要清除一次,而且发现明明可以跑得了的,但是会报
内存
不足的错,
释放
下
内存
就可以跑了。注这里的
内存
指运行
内存
,即
内存
条的大小,我的共有56G。 用以下命令查看buff/cache: free -m 发现buff/cache占了几乎40%的运行
内存
,本来...
Mongodb
释放
内存
Mongodb
释放
内存
1、由于碰到过mongodb吃掉所有闲置
内存
的情况,导致服务器操作越来越慢。虽然对mongodb的读操作没有太多影响, 但是此时写入的性能却极剧下降(怀疑
内存
不够引起的)。由于要收集大量的历史文件数据, 每次多线程收集到一定的程度时,写入文件速度越来越慢,经过多次测试发现,均与服务
内存
的使用峰值有关。 当服务器
内存
使用率较低时,多线程写入较快,当服务器
内存
被mongodb...
python线程执行完后
释放
内存
_请教 Python 多线程
内存
不
释放
怎么排查
新手
写了一个多线程的爬虫,所有线程都执行完了,但是一直占着 1.5GB 的
内存
(任务数越多不
释放
的
内存
越多)不知道怎么排查哪里出
问题
,pympler 看不太懂
问题
到底出在哪里,请教该如何正确的排查
问题
执行多线程函数的代码:def mainfunc(tasknum, thread):tr = tracker.SummaryTracker()tr.print_diff()list = []for i ...
容器
内存
释放
问题
(STL
新手
笔记)
最近看了下STL,用的过程中有一些体会
需要
记一下。 容器的空间申请和基本函数操作,以及algorithm等都比较好理解,用起来也很方便,比较关键的是容器元素包含指针时,空间的申请和
释放
问题
,这个觉得STL做得挺乱的。总结了几点注意的。 1)自己new的空间,在
释放
的时候必须先delete,然后再
释放
容器。例如list MS,链表中存的是自己的动态字符串,如果字符串是自己动态申请的,
宝塔php缓存关闭,宝塔面板定期
释放
PHP占用
内存
搜索热词下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。目前宝塔面板已经非常流行,很多
新手
都选择使用宝塔面板,很多博客设置了 Memcached
内存
缓存加速,也就意味着
内存
会越用越多,那么就
需要
一段时间就要
释放
内存
,或者重启服务器。今天就利用宝塔面板的“计划任务”功能,使用 Shell 脚本自动
释放
内存
。自动
释放
:在计划任务中添加任务,选...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章