C++常见的内存错误及解决方法

C++常见的内存错误及解决方法

(1)内存分配未成功,却使用了它
解决方法:在使用内存之前先检查指针是否是NULL。如果是用malloc来申请内存,应该用if(p == NULL)或if(p != NULL)进行防错处理。如果是new来申请内存,申请失败会抛出异常,所以应该捕捉异常来进行防错处理。
(2)内存虽然分配成功,但尚未初始化就引用它
解决办法: 尽管有时候缺省时会自动初始化,但无论什么时候创建对象均要对其进行初始化,即使是赋0值也是不可忽略的。
(3)内存分配成功,但访问越界
解决方法:对数组for循环时要把握越界,否则可能会导致数组越界。
(4)忘记释放内存,导致内存泄漏
解决办法:动态内存的申请和释放必须配对,new-delete和malloc-free其使用次数必须相等。
(5)已经释放内存还在使用它
free或delete后 ,没有将指针设为NULL,产生“野指针”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值