c++ - C++ 执行可能的异常结转开销?

  显示原文与译文双语对照的内容

可以能引发异常的代码会在不引发异常的情况下与不同的代码进行比较。

时间: 原作者:

证明了在"正常"( 非异常相关) 代码中实现零开销的C++ 异常处理机制是可行的。 然而,实际上编译器通常会坚持更简单的实现,这通常会导致"正常"代码效率。 编译器必须考虑在函数层次结构中飞行的可以能性,因这里生成一些额外的家庭操作来启用异常。 这种额外的家庭代码影响代码的整体效率,不管是否抛出异常。

这是一个 QoI ( quality-of-implementation ) 问题。 编译器特定。有关详细信息,请检查编译器。 一些编译器实际上提供和选择启用/禁用 C++ 异常,以便在不使用异常时生成最有效的代码。

原作者:
...