gpt4 book ai didi

c++ - 什么时候应该使用if(!someVar)vs assert()?

转载 作者:行者123 更新时间:2023-12-03 09:06:20 26 4
gpt4 key购买 nike

我总是看到这种说法的某种变化:

if(!someVar)// or whatever expression
{
someVar = new type; //or however the programmer wants to handle it
}

在代码内。我的问题是,何时应该有人对assert()偏爱这种错误检查方法?有哪些具体示例?在我看来,assert()在大多数情况下可能是更安全的选择,因为您经常应该问自己,为什么首先将空值或错误值传递给变量。因此,您是否应该使用if(!expr)语句?

对于背景,我专门使用C++和assert.h header 进行工作。

最佳答案

在您提供的代码示例中,程序员正在检查someVar,并在someVar评估为 bool(boolean) 值false时对其进行更改。在错误检查的概念内,您可以将其视为可恢复的错误(可以通过更改someVar的值来解决该错误)

使用断言时,您将声明someVar必须为true,否则将无法恢复某些错误。通常,这仅在调试版本中运行,并且如果条件为false,则程序将退出。

关于c++ - 什么时候应该使用if(!someVar)vs assert()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40962252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com