assert 与NDEBUG

来源:互联网 发布:mfc编程实例pdf 编辑:程序博客网 时间:2024/06/08 04:21

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");


}



0 0