【C++】缺省参数
创始人
2024-05-06 13:55:59
0

缺省参数

  • 1. 缺省的概念和来源
  • 2.C++中的缺省参数(默认参数)
    • 2.1 缺省参数的概念
    • 2.2缺省参数的分类以及注意事项
      • 2.2.1全缺省参数
      • 2.2.2半缺省参数
      • 2.2.3 注意事项
  • 3.总结

1. 缺省的概念和来源

缺省,即系统默认状态,意思与“默认”相同。英文名都是default

缺省”最初来源于计算机英文文档中的单词"default","default”有很多意思:违约、缺省、拖欠、默认,由于当时计算机方面的翻译水平不高,于是就把这个词直译成了“缺省”,其实应该取它的引申意思“默认”。后来的人们发现,无论怎么解释,缺省好像都说不通,但是由于之前的人们已经习惯了“缺省”这个用法,故依旧延续了这个用法。后来的新一辈的人们觉得说起来很拗口,就使用了"default”的引申意思,所以现在在大多数计算机技术文档或者软件里面,采用的都是意译之后的“默认”这个用法。
缺省是一种计算机术语,指在无决策者干预情况下,对于决策或应用软件、计算机程序的系统参数的自动选择。默认选项的设计可以在用户不须决策的状况下就可以基础地使用上述的软件与程序。

2.C++中的缺省参数(默认参数)

2.1 缺省参数的概念

缺省参数的概念:
缺省参数是声明或定义函数为函数参数指定一个缺省值。在调用该函数时,如果没有指定的实参则采用该形参的缺省值,否则使用指定的实参。

#include using namespace std;
void fun(int a = 10) //这里采用了缺省参数,表示a的值默认是10
{cout << a << endl;
}
int main()
{fun();//10,没有传参时,使用参数的默认值fun(20);//20,传参时,使用指定的实参return 0;
}

2.2缺省参数的分类以及注意事项

缺省参数分为:
1.全缺省参数(就是全部的形参都有设定好的默认值)
2.半缺省参数(就是只有部分的形参有设定好的默认值)

2.2.1全缺省参数

void fun(int a = 10, int b = 20, int c = 30) //函数形参全部有默认值
{cout << a << endl;cout << b << endl;cout << c << endl;
}

2.2.2半缺省参数

void fun(int a, int b = 20, int c = 30) //只有部分函数形参有默认值
{cout << a << endl;cout << b << endl;cout << c << endl;
}

2.2.3 注意事项

注意事项:
1.半缺省参数必须必须从右往左依次给出,不能间隔给。(函数在调用的时候,如果要使用缺省参数,也必须从右往左连续使用缺省参数或者自己定义参数,不能有省略)

#include using namespace std;
void fun(int a = 10, int b = 20, int c = 30)
{cout << a << endl;cout << b << endl;cout << c << endl;
}
int main()
{fun(50,,10); //错误!!!不能这样使用return 0;
}

2.缺省参数不能再在函数声明和定义中同时出现(主要是为了防止如果声明和定义同时出现缺省参数的话,如果两个在相应位置缺省参数的值不同的话,编译器就不知道使用哪个,就会报错)

void fun(int a = 10, int b = 20,int c = 30);//函数声明中有缺省参数
int main()
{fun();return 0;
}
void fun(int a, int b, int c)//那么下面的函数定义中就不能有缺省参数
{cout << a << endl;cout << b << endl;cout << c << endl;
}
//打印
10
20
30

3.缺省值必须是常量或者全局变量
4.只有C++才支持缺省参数,C语言不支持

3.总结

缺省参数,就是默认参数的意思,给C++的缺省参数给函数的形参提供了默认值,弥补了C语言的不足,让我们写函数的时候更方便了。在使用缺省参数的时候还要注意一些错误的写法,比如正确的缺省参数的定义必须是从右往左定义的。

相关内容

热门资讯

古镇想收门票钱,收不下去就尴尬... 正值暑期旅游高峰,最近几天,两起关于古镇门票的新闻,在舆论场掀起了新一轮对古镇景区收费的热议。据媒体...
一条建议,催生一张“安全亲水网... (来源:衢州日报)转自:衢州日报  记者 方利军 通讯员 黄宣滕 沈海啸 陶红平  “既有野趣,又给...
三伏天,专家提醒这样“晒背”更... (来源:衢州日报)转自:衢州日报  据新华社银川7月19日电 (记者 马丽娟 唐紫宸) 7月20日入...
开化利用城市“边角料”打造“运... (来源:衢州日报)转自:衢州日报  本报讯 (报道组 方晓璐 通讯员 徐路) “夏天踢球再也不用担心...
以青春的名义,奔赴一座城 (来源:衢州日报)转自:衢州日报  记者 葛志军 陈璇  衢江区最新统计显示,全区总人口数40962...
巅峰到低谷 跨界再回归 朱雨玲... #朱雨玲诠释人生不设限# 【巅峰到低谷 跨界再回归 朱雨玲诠释“人生不设限”】“能够回到赛场对我来说...
大家帮帮忙,男孩姓李2011年... 大家帮帮忙,男孩姓李2011年9月初九12点16分根据八字起名,谢谢了五行缺水李澜清:清澄如水。适用...
技术分析的定义 技术分析的定义技术分析法,就是应用金融市场最简单的供求关系变化规律,寻找、摸索出一套分析市场走势、预...
文玩核桃双棒值钱吗 直径大概有... 文玩核桃双棒值钱吗 直径大概有46,配对很好双棒不是特别值钱,因为双棒铁核桃爱出双棒,真正大家认的麻...
11年4月1日19点38分测工... 11年4月1日19点38分测工作,测得本卦是坤卦,变卦是地水师,求在线周易大师给解卦,本人不胜感激。...