C++与C语言不同之三——默认参数
2014-04-25 16:09
134 查看
默认参数
默认参数指的是当函数调用中省略了实参时自动使用的一个值。如何设置默认值呢?必须通过函数原型。由于编译器通过查看原型来了解函数所使用的参数数目,因此函数原型也必须将可能的默认参数告知程序。方法是将值赋给原型中的参数。例如:
char *left(const char *str,int n=1);
对于带参数列表的函数,必须从右向左添加默认值。也就是说,腰围某个参数设置默认值,则必须为它右边的所以参数提供默认值:
例如:
int harpo(int n,int m=4,int j=5);
例如,harpo()原型运行调用该函数时提供1个、2个、或3个参数:
beeps=harpo(2);
beeps=harpo(1,8);
beeps=harpo(8,7,6);
实参按从左到右的顺序依次被赋给相应的形参,而不能跳过任何参数。因此,下面的调用是不允许的:
beeps=harpo(3, ,8);
默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。在设计类时您将发现,通过使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。
注意:只有原型指定了默认值,函数定义与没有默认参数是完全相同的。
相关文章推荐
- C++语言基础 例程 不同类型数据间的转换
- C/C++开发语言系列之16---C++不同类型数据间的转换
- C++与C语言不同之四——函数重载
- C/C++开发语言系列之11---使用默认参数的构造函数
- 一个程序在C语言和C++语言环境下得到不同结果
- 什么是无符号段整数,什么又是有符号数,(c++与java语言里边的不同)
- Swift语言中与C-C++和Java不同的语法(四)
- C++、Java和Matlab不同语言关于 y=(++x)+(++x);结果不同的问题
- Leetcode 98. Validate Binary Search Tree C++及javascript解答,不同语言不同玩法
- C++语言基础 例程 带默认参数的构造函数
- C#和java,C#和C++各有什么不同(2) -- 语言规范的比较
- C++语言基础 例程 有默认参数的函数
- 对比C++和Java语言不同点
- C#学习(2)——C#语言基础与C++的不同
- C#/C++/Java/Python语言不同手册
- c++和java语言特性的不同(一个c++开发者眼中的java)
- C++与C语言不同之五——函数模板
- [通用技术]在不同语言中用协程实现全排列算法(C++/Lua/Python/C#)
- PHP网页根据来访者的浏览器语言不同自动跳转中英文页面
- C/C++语言中函数参数传递的三种方式