您的位置:首页 > 编程语言 > C语言/C++

C++中assert的作用

2016-04-10 20:53 351 查看
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 ); //程序永远都执行不到这里来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: