assert是什么意思?
英文解释: to state clearly and firmly that sth is true
中文解释: 清楚确信的判断某件事就是对的,不模棱两可的。
一般释意为:断言
怎么用?
#include <assert.h>
void assert( int expression );
计算表达式 expression ,如果其值为假(即为 0),那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。
举个例子?
这里要读文件tt.txt,但是并没有创建。这时候就会报错:Assertion‘fp’failed
同时输出信息并退出程序:Aborted(core dumped)
什么时候用?
assert主要用于判断一些致命的,需要及时退出工程的关键性错误。比如上面,要打开这个文件就必须保证tt.txt文件已经存在,如果文件不存在,下面再对这个文件做任何操作都是没有意义的,所以这里用assert比较好,当然你也可以用if...return 0来替代assert。但是在工程里其他非明显错误判断上(即异常判断上),尽量不用assert。因为大量的使用assert会影响性能。