assert
是 C++ 中的一个关键字,它在调试过程中起着非常重要的作用
assert
的基本用法如下:
#include <iostream>
#include <cassert>
int main() {
int x = 5;
int y = 0;
assert(y != 0 && "Division by zero!");
int z = x / y;
std::cout << "The result is: "<< z << std::endl;
return 0;
}
在这个例子中,assert
用于检查除数 y
是否为零。如果 y
为零,程序将显示一条错误消息 “Division by zero!” 并终止执行。如果 y
不为零,程序将继续正常运行。
需要注意的是,assert
只在调试模式下有效。当你编译并运行程序时,可以通过定义宏 NDEBUG
来禁用 assert
。例如:
g++ -DNDEBUG my_program.cpp -o my_program
这将禁用 assert
,即使条件为假,程序也不会显示错误消息并终止执行。这在某些情况下可能是合适的,例如,当你在生产环境中运行程序时,可能不希望因为断言失败而中断程序。