1.1 函数参数默认值 1.1.1 函数默认值
C++中可以为函数参数提供默认值,当调用函数的时候,如果不提供为这个参数提供值,就会使用默认值。1.1.2示例程序
int mul(int x =0); int main() { printf("%d\n",mul()); // 0 printf("%d\n",mul(1)); // 1 printf("%d\n",mul(2)); //4 return 0; } int mul(int x ) //注意这没有int x =0 ,如果定义的时候提供默认值就会报错 { return x*x; }1.1.3 函数参数相关问题 函数参数的默认值必须在函数声明中指定,如果在函数实现中继续指定一个默认参数会怎样? 这样编译器就会报错
int mul(int a =0); int main() { mul(); return 0; } int mul(int a =0) { return a*a; }结果:报错
1.2.4 函数参数的规则
函数参数的默认值必须从右向左提供。函数调用时使用了默认值,则后续参数必须使用默认值。1.2 函数占位符 1.2.1 占位符 C++中可以为函数提供占位符。
占位参数就是只有参数类型声明,没有参数名声明。一般情况下,函数体内无法使用占位符。 int func(int x,int ) { return x; } int main() { func(1,2); // ok return 0; }1.2.2 C++ 中为啥提供占位符? C++ 中提供占位符的意义是啥? 考虑下面的代码在c++中和C语言中可以运行成功吗?
int func() { return 0; } int main() { func(); func(1,2); return 0; }上面的程序在C++中是不能运行成功的,C++是一种强类型检查的语言。要想让程序在C++运行成功,需要用到两个知识点,占位符和参数默认值,修改后程序如下:
int func(int =1,int =2) { return 0; } int main() { func(); func(1,2); return 0; }参考一 : 狄泰软件课程
如有侵权:请联系邮箱 1986005934@qq.com