断言与副作用

时间:2013-02-06 21:23:22

标签: c++

在我今天愉快的调试会议中,我意识到分段错误的原因或多或少如下:

assert(functionWithSideEffect());
doSomethingWhichSegfaultsUnlessSideEffectHappens();

我非常清楚你不应该做这样的事情,我显然修复了代码,但我仍然感到困惑,为什么在使用调试可执行文件测试时发生了分段错误,即没有定义NDEBUG。

在这种情况下,不应该执行断言参数中的函数吗?

0 个答案:

没有答案