内存泄漏

内存泄漏:memory leak:

是指由于疏忽或错误造成程序未能释放掉不再使用内存的情况。内存泄漏不是指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。

分类:
1. Heap leak:malloc, realloc, new等分配后忘记调用 free和delete删掉
2. resource leak: 程序使用系统分配的资源后没有使用相应的函数释放掉(比如 bitmap, handle, SOCKET 等),导致系统资源的浪费,严重可导致系统效能降低,系统运行不稳定(端口号被占用就不能上网)。
3. 没有将基类的析构函数定义为虚函数。当基类指针指向子类对象时,如果基类的析构函数不是virtual, 那么子类的析构函数就不会被调用,子类的资源没有被正确释放,因此造成内存泄漏

内存溢出:out of memory
是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值