使用断言检查内存是否分配成功是危险的,为什么呢?

iamlwblwblwb 2012-01-20 11:58:33
看C与C指针是,说“使用断言检查内存是否分配成功是危险的”,请各位指点为什么呢?谢谢!
...全文
182 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2012-01-20
  • 打赏
  • 举报
回复
个人觉得无论是业务逻辑还是通用库,都不用检查指针有效性

第一,即便检查你也只能检查空指针等少数几个特殊值,任意值的野指针检查不了

第二,如果你总是犯这种内存管理上的错误(频率超过一个月3次),对不起,您不适合使用C语言

zhq445078388 2012-01-20
  • 打赏
  • 举报
回复
因为正式发布版是去掉断言的。。。那些是用于调试输出的。。
飞天御剑流 2012-01-20
  • 打赏
  • 举报
回复
因为断言一般在release版本中会被去掉,这时候就没有检查作用了。
AnYidan 2012-01-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 supermegaboy 的回复:]

因为断言一般在release版本中会被去掉,这时候就没有检查作用了。
[/Quote]

++
iamlwblwblwb 2012-01-20
  • 打赏
  • 举报
回复
感谢以上几位,受教了,谢谢
游戏设计师 2012-01-20
  • 打赏
  • 举报
回复
一般断言是在DEBUG中调试用的,不过你可以自己写一个异常监控和查找库,在release版本中使用~
一般把这种类似断言的检测出现问题时候抛出异常或者写入log~

70,026

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧