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; }