栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号