目录
一、什么是缺省参数
在声明或者定义函数时为函数的参数指定一个默认值。在调用该函数时如果没有传递实参,则使用默认认值,否则使用指定的实参。
二、怎么使用缺省参数
1.全缺省(全部参数都有缺省值)
例子:
int add(int x = 1, int y = 2) { return x + y; } int main() { std::cout << add() << std::endl; std::cout << add(10) << std::endl; std::cout << add(10,20) << std::endl; return 0; }
结果:
2.半缺省(部分参数有缺省值)
规则:缺省值必须从最右向左依次给出
错误:
int add(int x = 1, int y, int z = 3) { return x + y + z; } //or int add(int x = 1, int y = 2, int z) { return x + y + z; }
正确:
int add(int x, int y, int z = 3) { return x + y + z; } //or int add(int x, int y = 2, int z = 3) { return x + y + z; } //or int add(int x = 1, int y = 2, int z = 3) { return x + y + z; }
例子:
int add(int x, int y = 2, int z = 3) { return x + y + z; } int main() { std::cout << add(2) << std::endl; std::cout << add(1, 20) << std::endl; std::cout << add(1, 20, 30) << std::endl; return 0; }
结果:
三、使用缺省参数时的注意事项
- 带缺省值的参数必须放在参数表的最后面,从后往前依次给默认值
- 缺省参数不能在函数的声明和定义中同时出现
- 缺省值必须是常量或全局变量
- C语言不支持缺省参数