c++ - VERIFY(...) 是 C++ 编码的好习惯吗?

标签 c++ coding-style verify

此外,它与出现问题时抛出异常相比如何?

最佳答案

VERIFY()ASSERT()(或标准库 assert())的目的相同 - 让您捕捉事物这真的不应该™发生(即真正的代码错误,应该在发布前修复的东西)。如果出于某种原因表达是错误的,那么就没有继续下去的意义,因为某些事情非常非常错误。

这反射(reflect)在 VERIFY() 仅在 Debug模式下编译时在错误评估时停止程序 - 在 Release模式下,它是透明的。 VERIFY()ASSERT() 之间的区别在于 VERIFY() 仍然会在 Release 模式下计算表达式,它只是不会关心结果 - 而 ASSERT() 在 Release 模式下编译时从程序中完全删除,因此其中表达式的任何副作用都不会发生。

异常对于可能出错但可以恢复的事情更有用,因为异常可以由程序的其他部分处理。

关于c++ - VERIFY(...) 是 C++ 编码的好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642424/

相关文章:

c++ - 找到潜在的最大圆

c# - 您是否以句点结束您的异常消息?

java - 如何在JAVA中对文件进行签名和验证

node.js - 如何验证谷歌验证码

c - 打开SSL : error "self signed certificate in certificate chain"

c++ - char 和 char& 之间是否存在相对复制开销差异?

c++ - 优化估计 Pi 函数 C++

c++ - 如何在 C++ 中初始化指向特定内存地址的指针

java - JSP找不到样式表

delphi - 初级 Delphi 开发人员应该学习哪些干净、优雅、设计良好、编写良好、做得很好的 Delphi 代码?