在 C 和 C++ 中,assert
是一个非常 重量级例程,将错误写入 stdout
并终止程序。在我们的应用程序中,我们实现了一个更强大的 assert 替代品,并为其提供了自己的宏。已尽一切努力用我们的宏替换 assert
,但是仍有许多方法可以重新引入 assert
(例如,从内部第三方库、朴素注入(inject)等) .)
关于我们如何减少、限制甚至根除 assert
的使用有什么建议吗?最好的答案将是编译器可以为我们捕获的答案,这样我们就不必像现在这样照看代码库了。
最佳答案
实际上,我不确定我是否真的理解这个问题。断言只有在它们失败时才会很昂贵,无论如何这都很好,因为您现在处于异常情况下。
assert
仅在调试版本中启用,因此请使用第三方库的发布版本。但实际上,不应该每时每刻都断言。
关于c++ - 协助避免断言......总是!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844162/