差异:“第一、异常对象在传递时总被进行拷贝;当通过传值方式捕获时,异常对象被拷贝了两次。对象做为参数传递给函数时不一定需要被拷贝。第二、对象做为异常被抛出与做为参数传递给函数相比,前者类型转换比后者要少(前者只有两种转换形式)。最后一点,catch子句进行异常类型匹配的顺序是它们在源代码中出现的顺序,第一个类型匹配成功的catch将被用来执行。当一个对象调用一个虚拟函数时,被选择的函数位于与对象类型匹配最佳的类里,即使该类不是在源代码的最前头。”
编程交流与学习--More Effective C++的学习-Item M12:理解“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异
最新推荐文章于 2025-12-17 23:40:21 发布
本文详细探讨了异常处理机制中的几个关键点:异常对象的拷贝行为、异常抛出与函数参数传递的区别、catch子句的类型匹配顺序,以及对象调用虚拟函数时的选择规则。
332

被折叠的 条评论
为什么被折叠?



