协助避免断言......永远!

fbr*_*eto 7 c c++ api assert

在C和C++中assert是一个非常重要的例程,向程序写入错误stdout并终止程序.在我们的应用程序中,我们为assert实现了一个更强大的替换,并给它自己的宏.已尽一切努力取代assert我们的宏,但仍有许多方法assert可以重新引入(例如,来自内部第三方库,天真注射等)

关于如何减少,限制甚至根除使用的任何建议assert?最好的答案是编译器可以为我们捕获的答案,因此我们不必像现在那样照顾代码库.

GMa*_*ckG 14

实际上,我不确定我是否真的理解这个问题.如果断言,断言只会很昂贵,无论如何这都很好,因为你现在处于异常状态.

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

  • 它们不是每时每刻都会消失,但考虑到我们的应用程序的大小,我们希望做的不仅仅是在断言失败的情况下消失.更优雅地处理断言失败的能力为QE和开发提供了巨大的好处. (2认同)