我已经读到使用 C++ 异常进行异常处理有一些开销,而不是检查返回值。我只是在谈论没有抛出异常时产生的开销。我还假设您需要实现实际检查返回值并执行适当操作的代码,无论这与 catch 块所做的操作等效。而且,将抛出异常对象的代码与内部包含 45 个状态变量的代码与为每个错误返回负整数的代码进行比较也是不公平的。
我并不是仅仅基于可能执行得更快的 C++ 异常来建立一个案例来支持或反对 C++ 异常。我最近听说有人提出,一旦您考虑到检查返回值和处理错误所需的所有额外簿记代码,使用异常的代码应该与基于返回码的代码一样快地运行。我错过了什么?