assert是一个宏定义
在c中,一个可能的定义如下:
#if !defined(NDEBUG)
#define assert(p) if(!(p)){fprintf(stderr,/
"Assertion failed: %s, file %s, line %d/n",/
#p, __FILE__, __LINE__);abort();}
#else
#define assert(p)
#endif
它可以让你在 程序 的debug阶段防止你不愿发生的情况
比如:
在一个函数
void fun(int * p)
不想让传入的参数p为NULL
可以这样写:
assert( p != NULL );
在c中,一个可能的定义如下:
#if !defined(NDEBUG)
#define assert(p) if(!(p)){fprintf(stderr,/
"Assertion failed: %s, file %s, line %d/n",/
#p, __FILE__, __LINE__);abort();}
#else
#define assert(p)
#endif
它可以让你在 程序 的debug阶段防止你不愿发生的情况
比如:
在一个函数
void fun(int * p)
不想让传入的参数p为NULL
可以这样写:
assert( p != NULL );