第7课 函数参数的扩展

本文内容取自于对狄泰学院 唐佐林老师 C++深度解析 课程的学习总结

函数参数的默认值

  • C++中可以在函数声明时为参数提供一个默认值
  • 当函数调用 时没有提供参数的值,则使用默认值
    在这里插入图片描述

上面中代码,mul()等价于 mul(0)

  • 参数的默认值必须在函数声明中指定
    在这里插入图片描述

实例分析

默认参数值初探
#include <stdio.h>

int mul(int x = 0);

int main(int argc, char *argv[])
{
    printf("%d\n", mul());
    printf("%d\n", mul(-1));
    printf("%d\n", mul(2));
    
    return 0;
}

int mul(int x)
{
    return x * x;
}

运行结果
在这里插入图片描述

实验结果:当函数调用时没有填写入参时,使用默认参数,如mul()等同于mul(0)



函数默认参数的规则
  • 参数的默认值必须从右向左提供
  • 函数调用时使用了默认值,则后续参数必须使用默认值
    在这里插入图片描述

函数占位参数

在C++中可以为函数提供占位参数
  • 占位参数只有参数类型声明,而没有参数名声明

  • 一般情况下,在函数体内部无法使用占位参数

     int func(int x, int)
     {
     	return x;
     }
     
     //...
     func(1, 2);           //ok!
    
函数占位参数的意义
  • 占位参数与默认参数结合起来使用
  • 兼容C语言程序中可能出现的不规范写法
    在这里插入图片描述



小结

  • C++中支持函数参数的默认值
  • 如果函数调用时没有提供参数值,则使用默认值
  • 参数的默认值必须从右向左提供
  • 函数调用时使用了默认值,则后续参数必须使用默认值
  • C++中支持占位参数,用于兼容C语言中的不规范写法
发布了42 篇原创文章 · 获赞 0 · 访问量 993

猜你喜欢

转载自blog.csdn.net/lzg2011/article/details/104340985