C++ ASSERT() 断言机制

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误

原型定义:#include <assert.h>

void assert( int expression_r_r_r );

assert的作用是现计算表达式 expression_r_r_r ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c

C++ ASSERT() 断言机制 - 天狼鼠 - 天狼鼠的博客

 使用assert的缺点是,频繁的调用会极大的影响程序的性能,增加额外的开销

原文地址:https://www.cnblogs.com/tianlangshu/p/1989510.html