宏
assert用于断言。
断言用于验证对程序运行中对某种情况的假设,并在假设不成立时输出诊断信息并终止程序运行。
1 | assert(expr); |
assert 宏用于检测表达式 expr 的真假,当 expr 为真(即不等于0)时断言通过,为假时断言失败。
输出的诊断信息包括:
触发断言失败的表达式
源文件名
行号
assert 宏只在 Debug 环境下有效,在 Release 环境下或手动定义宏 NDEBUG 时,所有 assert 语句都会被编译器忽略。
1 |
|
因为在
Release环境下assert语句会被忽略,一切在语句内对变量的操作都不会执行。