| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异
只看楼主 加入收藏
wangfangjin
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2010-7-13
结帖率:80%
收藏
 问题点数:0 回复次数:2 
“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异
把一个对象传递给函数或一个对象调用虚拟函数与把一个对象做为异常抛出,这之间有三个主要区别。
第一、异常对象在传递时总被进行拷贝;当通过传值方式捕获时,异常对象被拷贝了两次。对象做为参数传递给函数时不一定需要被拷贝。
第二、对象做为异常被抛出与做为参数传递给函数相比,前者类型转换比后者要少(前者只有两种转换形式:继承架构中的类转换;从一个有型指针到五型指针的转换)。
第三、catch子句进行异常类型匹配的顺序是它们在源代码中出现的顺序,第一个类型匹配成功的catch将被用来执行。当一个对象调用一个虚拟函数时,被选择的函数位于与对象类型匹配最佳的类里,即使该类不是在源代码的最前头。
收到的鲜花
  • mxs8102010-09-15 11:58 送鲜花  5朵   附言:咬文嚼字,理解的挺好的
搜索更多相关主题的帖子: 传递一个参数 抛出一个异常 函数 
2010-09-14 19:29
迷失的木桶
Rank: 4
等 级:业余侠客
帖 子:52
专家分:230
注 册:2010-5-29
收藏
得分:0 
被这个风马牛不相及的题目给吸引进来的。
2010-09-16 14:44
oicq
Rank: 1
等 级:新手上路
帖 子:34
专家分:1
注 册:2010-9-22
收藏
得分:0 
   果然

                                                                  D.神罗天征
2010-09-23 12:04
快速回复:“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011231 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved