C++函数学习笔记(四)

默认实参

在函数的很多次调用中他们都被赋予一个相同的值。我们把这个反复出现的值称为默认实参

  • 调用含有默认实参的函数时,可以包含该实参也可以省略该实参。
  • 一旦某个实参被赋予了默认值,它后面所有的形参都必须有默认值。

例:
string screen(int ht = 24,int sz = 80,string s=‘ ’ )

默认实参函数调用

  • 函数调用时,实参负责填补函数调用缺少的尾部实参(靠右侧位置).
    screen(,’?’);// 错误只能省略尾部的实参。

默认实参声明

对于函数声明来所,将其放在头文件中,并且一个函数只声明一次,但是多次声明也是合法的。但是在给定作用域中一个形参只能被赋予一次默认实参。
函数后续声明只能为前面之前没有哦默认值的形参添加默认实参,该形参右侧所有形参必须有默认值。

stirng screen(sz,sz,char =’ ‘);
stirng screen(sz,sz,char =’*’); // 错误:重复声明
stirng screen(sz= 1,sz = 1,char ); // 正确

注意:

  • 局部变量不能作为默认实参
  • 用作默认实参的名字在函数声明所在的作用域内解析,而这些名字的求值过程发生在函数调用时。

int a = 80;
char def =’ ‘;
int ht();
string screen(int = ht(),int= wd,char = def);
screen(); // 调用screen(ht(),80,’ ');
void f2()
{
def = ‘’; // 改变默认实参的值
int wd = 100; // 隐藏了外层定义wd,但是没有改变默认值
screen(); // // 调用screen(ht(),80,’
’);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值