assert
是 C++ 中的一个关键字,它在调试过程中起着非常重要的作用
assert
的基本用法如下:
#include#include 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
,即使条件为假,程序也不会显示错误消息并终止执行。这在某些情况下可能是合适的,例如,当你在生产环境中运行程序时,可能不希望因为断言失败而中断程序。