assert 断言

阅读更多
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

#include  
void assert( int expression ); 

assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。
大家要注意是,其中的表达式为假时,会终止程序运行,有时经常会写错代码,断言一个指针是否为空,往往写成了
assert(!p);其实应该写成assert(p);
assert是运行期的判断,并且会强制终止程序,一般要求只能用于debug版本中,是为了尽可能快的发现问题。

你可能感兴趣的:(assert)