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