11智能在线
新记
c++中有malloc必须有free么,为什么?
如题所述
举报该文章
相关建议 2011-08-06
malloc和free必须成对出现,因为malloc开辟的内存空间在堆区,系统在程序结束时不会自动释放,如果程序员自己不手动释放的话就会造成内存泄露(就是有个指针指向一块内存,结果函数一结束,指针被删除了,而那块内存空间还在),那块内存空间就再也找不到了。同样的道理,new开辟的空间也在堆区,你也必须用delete去释放。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/8q8qpfp84.html
其他看法
第1个回答 2011-08-06
如果不free的话,该指针所指定的资源不会被释放,这样会导致内存泄露。说白了,程序不止,内存就只升不降,就这性能的程序你用呀?
第2个回答 2011-08-06
恩 必须的 因为 malloc是申请堆栈内存,如果不用free是一种危险的行为
相似回答
大家正在搜
相关问题
C语言中已经有了malloc和free,为什么还需要new和...
c++中有了malloc/free,为什么还要有new/de...
C++中有了MALLOC/FREE,为什么还需要NEW/DE...
如果没有malloc,可以使用free释放空间吗?为什么?
C++中malloc函数和free函数疑问
malloc,free和new,delete有区别吗?如果有...
c语言在子函数中使用malloc,会自动free吗?
c++有malloc()这个函数吗?