assert()
是 C++ 中的一个调试断言宏,它在运行时检查给定的条件是否为真。如果条件为假(0),程序将终止并显示一条错误消息。这对于捕获潜在的错误和确保程序的正确执行非常有用。
assert()
函数的参数是一个布尔表达式。如果该表达式的结果为 true
,则程序将继续正常执行。如果结果为 false
,则程序将终止并显示一条错误消息,通常包含表达式的参数和文件名以及行号。
下面是一个简单的示例:
#include#include int main() { int x = 5; int y = 0; // 断言 x + y 不等于 0 assert(x + y != 0); std::cout << "This line will not be executed if the assertion fails." << std::endl; return 0; }
在这个例子中,assert(x + y != 0)
将检查 x + y
的结果是否不等于 0。由于 y
的值为 0,所以 x + y
的结果为 5,不等于 0。因此,断言为真,程序将继续执行。
但是,如果我们更改 y
的值为 -5,那么 x + y
的结果将为 0,等于 0。这将导致断言失败,程序将终止并显示以下错误消息:
Assertion failed: x + y != 0, file main.cpp, line 6