函数参数相关(默认参数,占位参数)

Posted liu-jing

tags:

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

 

C++中可以在函数声明时为参数提供一个默认值,

当函数调用时没有指定这个参数的值,编译器会自动用默认值代替

函数默认参数的规则

只有参数列表后面部分的参数才可以提供默认参数值

一旦在一个函数调用中开始使用默认参数值,那么这个参数后的所有参数都必须使用默认参数值

#include <iostream>
using namespace std;

void myPrint(int x = 3)
{
    cout<<"x="<<x<<endl;
}
//在默认参数规则 ,如果默认参数出现,那么右边的都必须有默认参数
void myPrint2(int x = 3, int y = 4)
{
    cout<<"x="<<x<<endl;
}

int main(void)
{
    //1 若 你填写参数,使用你填写的,不填写 则默认
    myPrint(4);
    myPrint();
    
    return 0;
}

技术分享图片

占位参数:

//函数占位参数 函数调用时,必须写够参数
void func1(int a,int b,int)
{
    cout<<"a="<<a<<" b="<<b<<endl;
}

void func2(int a,int b,int = 0)
{
    cout<<"a="<<a<<" b="<<b<<endl;
}

int main(void)
{
    //func1(1,2); //too few arguments to function ‘void func1(int, int, int)‘
    func1(1,2,3);
    
    func2(1,2);
    func2(1,2,3);
    
    return 0;
}

运行结果:

技术分享图片

 

以上是关于函数参数相关(默认参数,占位参数)的主要内容,如果未能解决你的问题,请参考以下文章

21)函数的默认参数和占位参数

c++--函数重载

C++函数的用法注意事项

函数参数的扩展

Python 默认参数混淆

5-25 函数高级应用