谨慎使用scope定义局部变量

今天,一个小错误浪费了大半天的时间。

 

我在一个函数中使用scope定义了一个局部临时变量,后来又无意中将其它对象赋值给这个临时变量,并进行了一些操作,当走出函数时,gc自动释放了临时变量最后所指向的对象,一但有程序再对这个对象进行操作时,就有可能引发一个av错误。

 

因为,离开时只会释放scope变量最后所指向的对象,而其它大部份对象却不受影响,所以错误可能会随机出现,让问题比较隐蔽。同时,发现av错误时,通常注意力都会集中在对象是否正创建和释放,而忽略了scope的影响,所以使得找出原因更加困难。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值