debug版本中检测非法情况使用断言,在release版本中怎么办?

comdoc 2009-09-22 04:01:39
通常在debug版本中使用断言来避免程序中非法情况的出现,如空指针,非法参数等,但是在release版本中断言不起作用,那怎样才能保证程序(如函数)的健壮性呢?

看了一下标准C的memcpy函数,函数入口并没有对参数做检查,那如果传入空指针后程序崩溃,为什么要这样设计函数呢,干嘛不像debug版本一样检测一下输入参数呢?
...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgjxwl 2009-09-22
  • 打赏
  • 举报
回复
memcpy好像有替换的安全性更高的版本了吧
taodm 2009-09-22
  • 打赏
  • 举报
回复
楼主给个“断言”的定义吧。
candeabc123 2009-09-22
  • 打赏
  • 举报
回复
只是为了调试方便 和提高程序健壮性
楼主不要太过于探究这种东西
如果你想使用memcpy函数 那你就应该确保参数的有效性啊 因为没有结果的返回啊 出错了怎么告诉你 ?
老邓 2009-09-22
  • 打赏
  • 举报
回复
异常!
kouwenlong 2009-09-22
  • 打赏
  • 举报
回复
也可看通过抛出异常,来检查错误的.
fbmsyu 2009-09-22
  • 打赏
  • 举报
回复
提高性能!如果什么都检查,那c/c++就慢的要死了.

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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