assert()的作用

assert()  这个函数在C++中用的比较少,但是有以次面试被问及到了,我就说了个中断,然后面试官让我过了,所以记录一下,查了下资料,原来如此!

assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

#include <assert.h>
void assert( int expression );
assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,
然后通过调用 abort 来终止程序运行。
 

	int a=1;
	int b=2;
	cout<<"next function is assert!"<<endl;
	assert((a<b ? 0:1));
	a+=b; //从这里以后都不执行;
	cout<<a<<endl;

或者是下面这样:

fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败
assert( fp ); //所以这里出错
fclose( fp ); //程序永远都执行不到这里来

猜你喜欢

转载自blog.csdn.net/weixin_41066529/article/details/89703616