默认参数 参数默认值 二三事
2015-12-29 00:00
274 查看
最近的项目里写了含有默认值参数的函数,和小伙伴集成的时候却出了问题,反馈说参数不足,查了一下,总结定义默认值参数的规范:
1,定义:
参数默认值是指,在函数定义时赋予形参指定值。这样在函数调用时,可以不传含有默认值的形参位置对应的实参,以使用默认值。
EG:定义
- void func(int a, int b = 1, int c = 2);
使用
- func(0); // 即 func(0,1,2)
2,规范:
- 若函数有定义和实现,参数默认值在函数定义中写明,并只写这一次。
EG: 定义
- void func(int a, int b = 1, int c = 2);
实现
- void func(int a, int b, int c){ something cool; }
- 参数的默认值可以是函数,常数,全局变量,但不可以是临时变量。
- 一个函数的所有形参中,有默认值的形参必须在没有默认值的形参右侧。
EG: 一个错误形式
- void func(int a = 0, int b, int c = 2);
-使用函数时,传递覆盖默认参数的参数时,顺序也是从左到右,不能跳过。
EG: 上文提到的函数使用一个默认参数只有一种形式
- func(1,2) // 即 func(1,2,2)
1,定义:
参数默认值是指,在函数定义时赋予形参指定值。这样在函数调用时,可以不传含有默认值的形参位置对应的实参,以使用默认值。
EG:定义
- void func(int a, int b = 1, int c = 2);
使用
- func(0); // 即 func(0,1,2)
2,规范:
- 若函数有定义和实现,参数默认值在函数定义中写明,并只写这一次。
EG: 定义
- void func(int a, int b = 1, int c = 2);
实现
- void func(int a, int b, int c){ something cool; }
- 参数的默认值可以是函数,常数,全局变量,但不可以是临时变量。
- 一个函数的所有形参中,有默认值的形参必须在没有默认值的形参右侧。
EG: 一个错误形式
- void func(int a = 0, int b, int c = 2);
-使用函数时,传递覆盖默认参数的参数时,顺序也是从左到右,不能跳过。
EG: 上文提到的函数使用一个默认参数只有一种形式
- func(1,2) // 即 func(1,2,2)
相关文章推荐
- lua table 计算长度
- lightweight java profiler与java flame graph初了解
- ——12月29日
- js 时分秒 比较
- OObjective-c 多媒体 音效
- objective-c 多媒体 音乐播放
- objective-c 多媒体 视频播放 (9.0以前)
- objective-c 多媒体 视频播放器
- objective-c 多媒体 视频播放器 改良版播放器(9.0 以前)
- objective-c 多媒体 视频播放 ( 9.0以后)
- django修改admin下编辑的控件形式
- python的函数装饰器学习笔记
- 电影鬼才——昆汀·塔伦蒂诺(剧透向)
- 策略模式
- 工厂模式
- java数据类型
- java关键字
- 通达\铭心联手,共探企业信息化营销新机遇
- 版本控制SVN清除当前用户信息,重新输入用户密码
- hive伪分布式安装