解决HEAP: Free Heap block xxx modified at xxx after it was freed

楼主最近在代码调试中遇到了此问题,而且该问题并不是必现,复现频率较高但偶尔可以正常跑通

该问题的根本原因是对已经释放了的内存进行写操作,操作了野指针

在本站内查询后发现最多的说法是delete对象之后再次操作其地址,具体见此链接https://blog.csdn.net/witton/article/details/8911432

但是,楼主此处的代码并没有new与delete之类的操作,故仔细走读代码,着重内存检查后发现,是同项目的同事

vector容器使用下标赋值符[]赋值时出现越界

resize为600的vector容器使用下标操作符[]赋值,赋值的位置大于600,但是由于下标操作符[]的特性,在赋值越界的地方并不会报错,直到之后某一处使用到该内存地址的时候,才会出现报错信息。

这里强烈建议大家vector容器赋值的时候选择at(),起码at()越界会直接报错,而不需要自己再到处乱找。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值