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

C++函数学习笔记(四),第1张

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,’
’);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4951367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存