【C++】自定义断言信息
-
断言失败自定义信息
目前的标准
assert宏只接受一个参数,失败时只会输出该条件对应的源代码文本,无法附加自定义信息。即将到来的 C++26 标准对
assert进行了增强,使其支持可变参数。在C++26之前,利用
&&或逗号运算符,是最简洁、最常用的技巧。#include <cassert> int main() { int divisor = 0; // 使用 && 运算符 assert(divisor != 0 && "Divisor cannot be zero!"); int value = -1; // 使用逗号运算符(注意括号) assert(("Value should be positive", value > 0)); return 0; }

浙公网安备 33010602011771号