1.什么是assert
assert,中文翻译为断言,注意是一个宏定义,不是函数。
c++中,要使用assert,可以将cassert头文件include进来,而cassert最终是引用的assert.h。
assert的作用跟其他语言中是一样的,如果它里面的条件返回错误,代码会终止运行,并且会把源文件,错误的代码,以及行号,都输出来。
#include <cstdio>
#include<cassert>
void func1() {
int n = 2;
assert(n==1);
}
int main(int argc, char const *argv[])
{
func1();
return 0;
}
运行以上代码,会得到如下输出:
Assertion failed: (n==1), function func1, file tempCodeRunnerFile.cc, line 6.
2.停用assert
停用assert功能也很简单,只需要在源文件起始位置加上如下一行代码:
#define NDEBUG
以上即可。