C++ Primer chap9

1 .

缺省实参可以使多个函数进入到可行函数集合中 可行函数是指可以用调用中指定的实
参进行调用的函数 可行函数可以有比函数调用实参表中的实参个数更多的参数 只要每个
多出来的参数都有相应的缺省实参即可 
extern void ff( int );
extern void ff( long, int = 0 );
int main() {
     ff( 2L );    // 匹配 ff( long, 0 );
     ff( 0, 0 );  // 匹配 ff( long, int );
     ff( 0 );     // 匹配 ff( int );
     ff( 3.14 );  // 错误: 二义
}
        对于第一个和第三个调用 即使该实参表中只有一个实参 第二个函数ff()仍然是两个
调用的可行函数 原因如下 
        1    函数的第二个参数有相应的缺省实参 
        2    函数的第一个参数是long 型 与第一个调用的实参类型精确匹配 通过标准转换等
级的转换序列 与第三个调用的实参类型也匹配 
        最后一个调用是二义的 这是因为通过在第一个实参上应用标准转换 两个实例都可以
匹配 这里不能选择ff(int)作为更好的函数 因为它只有一个实参 

原文链接: https://www.cnblogs.com/liujiahi/archive/2011/08/05/2196382.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ Primer chap9

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/29968

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午7:21
下一篇 2023年2月8日 上午7:22

相关推荐