c++ - 协助避免断言......总是!

标签 c++ c api assert

在 C 和 C++ 中,assert 是一个非常 重量级例程,将错误写入 stdout 并终止程序。在我们的应用程序中,我们实现了一个更强大的 assert 替代品,并为其提供了自己的宏。已尽一切努力用我们的宏替换 assert,但是仍有许多方法可以重新引入 assert(例如,从内部第三方库、朴素注入(inject)等) .)

关于我们如何减少、限制甚至根除 assert 的使用有什么建议吗?最好的答案将是编译器可以为我们捕获的答案,这样我们就不必像现在这样照看代码库了。

最佳答案

实际上,我不确定我是否真的理解这个问题。断言只有在它们失败时才会很昂贵,无论如何这都很好,因为您现在处于异常情况下。

assert 仅在调试版本中启用,因此请使用第三方库的发布版本。但实际上,不应该每时每刻都断言。

关于c++ - 协助避免断言......总是!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844162/

相关文章:

c - Xlib 的空窗口或透明窗口仅显示边框线

c - 如何从 C 中的 ini 文件访问数组?

python - 从 Instagram 句柄中提取媒体时出现错误 "Unable to parse response, not valid JSON"

api - Golang Api 只匹配最后一条路线

c++ - Web 技术如何用于 C++ 应用程序 GUI?

c++ - 处理 0.0 和 -0.0,如何正确比较值

Code::Blocks 13.12 错误 - 程序已停止工作

jquery - 预测API数据访问

c++ - 计算数组中的不同值 - C++

c++ - QTGUI - 如何在主窗口上打印来自其他类的消息(QString)?