📜  形参c++(1)

📅  最后修改于: 2023-12-03 15:39:33.128000             🧑  作者: Mango

C++形参介绍

在 C++ 中,函数参数是指函数定义中声明的变量。参数传递是将值从一个函数传递到另一个函数时使用的一种机制。本文将带大家了解 C++ 中的形参。

形参的定义

函数参数定义分为两部分:参数类型和参数名称。

int function(int param1, float param2) {
    // function body
}

其中,int param1float param2 是函数中的参数。intfloat 分别是参数 param1param2 的类型,它们决定了参数能够包含的数据的类型。param1param2 是参数的名称,它们决定了参数可以在函数中被引用的方式。

函数定义中的参数列表可以是任意长度,以逗号分隔。

形参的传递

当函数调用时,传递给函数的实际参数值被复制到函数的形式参数中。因此,当形式参数的值发生变化时,它不会影响实际参数。

如果一个函数需要修改传递给它的值,可以使用指针或引用作为形式参数。

void function(int &param) {
    param++;
}

int main() {
    int num = 10;
    function(num);
    cout << num << endl; // 输出 11
    return 0;
}

在上面的例子中,function(int &param) 的参数是通过引用传递的,这意味着函数中对参数的更改也会影响传递给它的实际参数。

形参的默认值

在 C++ 中,函数的参数可以有默认值,这意味着可以在调用函数时省略它们。有默认值的参数必须在参数列表的末尾出现。

int function(int param1, int param2 = 10) {
    return param1 + param2;
}

int main() {
    cout << function(5) << endl; // 输出 15
    cout << function(5, 20) << endl; // 输出 25
    return 0;
}

在上面的例子中,param2 有一个默认值为 10。如果只传递一个参数,则默认使用 10,否则使用传递的值。

形参的重载

在 C++ 中,函数参数的种类和数量可以不同,可以使用它们来重载函数。这意味着可以使用相同的函数名称来处理不同类型的参数。

int function(int param1, int param2) {
    return param1 + param2;
}

float function(float param1, float param2) {
    return param1 + param2;
}

int main() {
    cout << function(1, 2) << endl; // 输出 3
    cout << function(1.5, 2.5) << endl; // 输出 4
    return 0;
}

在上面的例子中,有两个 function 函数,一个用于整数,另一个用于浮点数。它们具有相同的函数名称,但参数的类型和数量不同。

总结

形参是定义函数时使用的变量,表示传递给函数的值。参数传递可以使用值传递、引用传递和指针传递等方式。函数参数也可以具有默认值,并且参数的种类和数量可以用于重载函数。