美文网首页
第三章(12) C++异常处理机制总结

第三章(12) C++异常处理机制总结

作者: 耕田者 | 来源:发表于2022-09-02 11:07 被阅读0次

    总结

            可以看到今天的C++标准所定义的异常处理机制,在性能方面是容易引起问题的,主要是由于其运行时开销的不确定性引起的。最近有一份C++标准提案(P0709)旨在引入一种零开销,静态的异常处理机制,它的未来发展值得关注。

           不得不说,在Qt编程上,对于目前基于表格的异常处理机制的性能权衡是至关重要。如果没有异常抛出,是零开销的;但如果抛出异常,则意味着巨大的开销(一份研究表明这个开销的量级为1000~2000个CPU时钟周期),只有当异常是偶发的情况下,加入异常处理才是可以接受的。所以,对初学者的通常建议是:不要在循环中使用异常处理!

           至于RTTI,我们必须注意其开销的不可预测。谨慎起见,在可行的情况下,建议把所有dynamic_cast<>的使用替换成一个虚函数。

    相关文章

      网友评论

          本文标题:第三章(12) C++异常处理机制总结

          本文链接:https://www.haomeiwen.com/subject/upjunrtx.html