侧边栏壁纸
博主头像
suringYu

走走停停

  • 累计撰写 62 篇文章
  • 累计创建 20 个标签
  • 累计收到 13 条评论

目 录CONTENT

文章目录

断言assert与if有什么区别

suringYu
2024-07-12 / 0 评论 / 0 点赞 / 140 阅读 / 320 字

区别

  • 从本质上来说
    assert是断言函数,是程序所提供的一个函数。if则是一个关键字
  • 从语义上来讲
    在debug模式下,assert(条件1),若条件一不满足,则会终止程序的向下执行。帮助程序员可以定位错误,在大多数情况下,可以节省程序员查错的时间。在release模式下,它不会做任何操作。
    if()条件,即是一个判断语句,无论是在调试模式下或者发行版本下,if(条件2)语句都会对条件2进行判断,满足就执行其后的语句,不满足的话就不执行。
  • 在使用方面
    • assert()是对我们程序的一种合法性(有效性)的判断。通常用于debug模式下。
    • if()为条件判断,通常根据条件的正确性(区别于有效性)来确定程序的正常执行与否。

使用时的区别办法:
程序员主观上认为这是不可能的事,这种情况使用assert;
而程序员很清楚的知道,这个是有可能发生的事,这种情况使用if。

0

评论区