函数参数的扩展

函数参数扩展
  • 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\n", mull());       //x=2
        printf("%d\n", mull(3));      //x=3
        printf("%d\n", mull(-1));     //x=-1
        printf("%d\n", add());        //x=1,y=2,z=3
        printf("%d\n", add(0));       //x=0,y=2,z=3
        printf("%d\n", add(2,3));     //x=2,y=3,z=3
        printf("%d\n", 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);等价
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/chengeputongren/p/12177867.html