使用malloc和free有哪些注意事项?

另外,使用new和delete与使用malloc和free有何不同,谢谢:)... 另外,使用new和delete与使用malloc和free有何不同,谢谢:) 展开
 我来答
FMA19
2011-10-16 · TA获得超过150个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:133万
展开全部
malloc/free可以在C和C++中使用,而new/delete只能在C++中使用。
在C++中对于内部数据类型而言,只用malloc/free无法无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,才有了new/delete。
用new/delete可以完成对动态对象的内存管理,而malloc/free不行。
注意事项:malloc次数与free次数需对应,free次数少了会造成内存泄露(不易发现),多了则会造成段错误。可以设置一个int 类型的malloc_num每当malloc后malloc_num ++, free后malloc_num --;程序结束时判断malloc_num是否为0则可知是否遗漏。
new/delete:每个构造函数有new则析构函数就有delete。

写这么多不容易,希望对你有帮助,望采纳。

不清楚的继续问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-12-03 广告
作为北京饼干科技有限公司的一员,对于市场上各类工具都有所了解。就AiPPT而言,它确实为用户提供了便捷高效的PPT制作体验。通过智能化的辅助功能,用户能够快速生成专业且富有创意的演示文稿,极大地节省了时间和精力。无论是对于个人用户还是企业团... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式