当我们使用函数时,想要通过调用一个函数从而达到不同的效果时,我们可以通过函数模板,传入不同类型的参数,从而实现不同的结果;当然也可以写不同参数的函数,利用函数的重载性,传入不同类型的参数从而实现不同函数的调用。那么除了这两种我们还可以通过c++函数默认函数值的使用,来实现一种特殊的效果。代码如下
#include<iostream>
#include<vector>
void print(int x, int y = 12)
{
std::cout << x <<" " << y << std::endl;
}
int main()
{
int a=2, b;
print(2);//结果是2,12
print(1, 4);//结果是1,4
}
注意函数默认值的确定,只能在定义和声明二选一,一般我们选择在声明设置默认值。
同时在设置默认值的时候,我们需要从右往左设置。
下图这样设置是错误的,因为在我们调用函数时候,如print(x,y),如果输入一个参数,那么是从第一个x开始,与y是否默认值无关。
void print(int x=12, int y )