它是一个调试程序经常用的宏,定义在<assert.h>头文件中,通常用在判断程序中是否有非法数据。
捕获漏洞使用,错误使用try throw catch处理。
用法:ASSERT(判断表达式),当值为false(0),程序报告错误,终止。
ASSERT()只在DEBUG下有,在RELEASE版本则被忽略。
ASSERT()和 assert()的区别: ASSERT是宏,assert()是ANSIC标准中规定的函数,可以用在release版本中。
#define NDEBUG
#include <assert.h> /* 此时断言功能关闭 */
一般assert()只检测一个条件,好的编程习惯是,在assert()后加一个空行。