前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是内存泄漏?防止内存泄露的方法?

什么是内存泄漏?防止内存泄露的方法?

作者头像
kdyonly
发布2023-03-03 19:09:32
9580
发布2023-03-03 19:09:32
举报
文章被收录于专栏:个人编程笔记个人编程笔记

浏览量 3

什么是内存泄漏?

动态分配内存所开辟的空间,在使用完毕后未手动释放,导致一直占据该内存,即为内存泄漏。

内存泄漏的分类

1.堆内存泄漏

堆内存泄漏指的是程序运行中根据需要通过malloc,realloc,new等从堆中分配的一块内存,完成后没有调用对应的free,delete进行释放,或者是程序错误导致这部分内存没有被释放,这块内存将不会被使用,就产生了堆内存泄漏。

2.系统资源泄漏

主要是指程序使用系统分配的资源,比如Bitmap,handle,socket等没有使用相应的函数释放掉,导致系统资源浪费,严重可导致系统效能降低,系统运行不稳定。

3.未将基类的析构函数定义为虚函数

当基类指针指向子类对象时,如果基类的析构函数不是virtual,那么子类的析构函数将不会被调用,子类的资源没有正确的释放,因此造成内存泄漏。

如何防止内存泄漏?

malloc,free要配套使用,对指针赋值的时候应该注意被赋值的指针是否需要释放;使用的时候记得指针的长度,防止越界;使用智能指针。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档