assert(condition); 语句是条件编译的。当构建调试版本配置时,定义_DEBUG 预处理器符号,以便assert() 会评估其条件(如果该条件评估为false,则会中止软件执行)。当构建发布版本配置时,改为定义NDEBUG 预处理器符号,以便assert() 有效地不生成任何机器语言代码。
assert(condition);
_DEBUG
assert()
false
NDEBUG
有关断言的更多信息