断言语句在 c++ 中不起作用

The assert statement does not work in c++

本文关键字:不起作用 c++ 语句 断言      更新时间:2023-10-16

我在程序中使用 assert 时遇到了一个奇怪的问题。即使我添加一行代码assert(false),程序也不会终止。但是当我编写几行示例代码时,assert起作用。有人知道为什么会这样吗?

如果您有:

#define NDEBUG

这会将所有assert变成nop

如果你有不同的行为,取决于代码量,那么我想你没有定义NDEBUG,我猜编译器只是编译出冗余代码。

需要有关环境的更多详细信息,但是,您给出了明确的答案。