函数的默认参数和占位参数

函数的默认参数和占位参数

默认参数规则

只有参数列表后面部分的参数才可以提供默认参数值
一旦在一个函数调用中开始使用默认参数值,那么这个参数后的所有参
数都必须使用默认参数值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>

using namespace std;

int qiuLiFangTiTiJi(int l = 10, int w = 20, int h = 10)
{
return l * w * h;
}

int main(int argc, char* argv[])
{
int l = 10;
int w = 20;
int h = 30;

cout << qiuLiFangTiTiJi() << endl;
cout << qiuLiFangTiTiJi(l) << endl;
cout << qiuLiFangTiTiJi(l, w) << endl;
cout << qiuLiFangTiTiJi(l, w, h) << endl;
return 0;
}

占位参数

函数占位参数
占位参数只有参数类型声明,⽽而没有参数名声明
一般情况下,在函数体内部⽆无法使⽤用占位参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>

using namespace std;

int max(int a, int b, int)
{
return a > b ? a : b;
}
int max2(int a, int b, float = 0)
{
return a > b ? a : b;
}
int main(int argc, char* argv[])
{
cout << max(10, 20, 30) << endl;

cout << max2(410,330) << endl;
return 0;
}