assert :
(1)头文件:cassert
(2)作用:assert(expr) 判断表达是expr的的真伪,伪则打印错误信息,真则不做任何事情。
例子:
//#define NDEBUG
#include <iostream>
#include <cassert>
using namespace std;
int main()
{
assert(1>2);
cout << "my result" << endl;
system("pause");
}
NDEBUG:也是一个预处理宏,其作用就是就是控制assert的行为,如果定义了这个宏,assert 不起作用
例子:
#define NDEBUG
#include <iostream>
#include <cassert>
using namespace std;
int main()
{
assert(1>2);
cout << "my result" << endl;
system("pause");
}