首页 > 代码库 > C++断言assert

C++断言assert

assert宏是在标准库中提供的。它在库文件<cassert>中声明,它可以在程序中测试逻辑表达式,如果指定的逻辑表达式是false,assert()就会终止程序,并显示诊断消息。关闭断言使用#define NDEBUG,该语句会忽略转换单元中的所有断言语句。而且这个指令仅放在#include <cassert>之前才有效。示例如下:
#include <iostream>#define NDEBUG //关闭断言#include <cassert>using std::cout;using std::endl;int main(){	int x=0;	int y=5;	for(x=0;x<20;x++){		cout << "x= " << x << " y= "<<y<<endl;		assert(x<y);	}	return 0;	}