函数参数的扩展

Posted chengeputongren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数参数的扩展相关的知识,希望对你有一定的参考价值。

函数参数扩展
  • C++中可以在函数声明时为参数提供一个默认值 
  • 当函数调用时没有提供参数的值,则使用默认值
函数默认参数的规则
  • 参数的默认值必须从右向左提供
  • 函数调用时使用了默认值,则后续参数必须使用默认值
#include "stdio.h"
int mull(int x = 2);
int add(int x=1, int y=2, int z=3);
//函数占位参数
int func(int x,int)
{
        return x;
}
int main()
{
        printf("%d
", mull());       //x=2
        printf("%d
", mull(3));      //x=3
        printf("%d
", mull(-1));     //x=-1
        printf("%d
", add());        //x=1,y=2,z=3
        printf("%d
", add(0));       //x=0,y=2,z=3
        printf("%d
", add(2,3));     //x=2,y=3,z=3
        printf("%d
", add(4,5,6));   //x=4,y=5,z=6
        func(1,2);
        return 0;
}
int mull(int x)
{
        return x*x;
}
int add(int x,int y,int z)
{
        return x + y + z;
}
函数占位参数
  • 在C++中可以为函数提供占位参数
  • 占位参数只有参数类型声明,而没有参数名声明
  • 一般情况下,在函数体内部无法使用占位参数
函数占位参数的意义
  • 占位参数与默认参数结合起来使用
  • 兼容C语言程序中可能出现的不规范的写法
在C语言中 void func(); 和void func(void);不等价
在C++语言中 void func(); 和void func(void);等价
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于函数参数的扩展的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法将2个非常相似的代码片段组合成一个函数并重复?

这些角度电子邮件指令代码片段如何连接

是否可以在 XML 中传递构造函数参数?

Java方法

ES6--函数的扩展

getSupportFragmentManager() 在活动扩展片段中未定义