📅  最后修改于: 2023-12-03 15:39:33.128000             🧑  作者: Mango
在 C++ 中,函数参数是指函数定义中声明的变量。参数传递是将值从一个函数传递到另一个函数时使用的一种机制。本文将带大家了解 C++ 中的形参。
函数参数定义分为两部分:参数类型和参数名称。
int function(int param1, float param2) {
// function body
}
其中,int param1
和 float param2
是函数中的参数。int
和 float
分别是参数 param1
和 param2
的类型,它们决定了参数能够包含的数据的类型。param1
和 param2
是参数的名称,它们决定了参数可以在函数中被引用的方式。
函数定义中的参数列表可以是任意长度,以逗号分隔。
当函数调用时,传递给函数的实际参数值被复制到函数的形式参数中。因此,当形式参数的值发生变化时,它不会影响实际参数。
如果一个函数需要修改传递给它的值,可以使用指针或引用作为形式参数。
void function(int ¶m) {
param++;
}
int main() {
int num = 10;
function(num);
cout << num << endl; // 输出 11
return 0;
}
在上面的例子中,function(int ¶m)
的参数是通过引用传递的,这意味着函数中对参数的更改也会影响传递给它的实际参数。
在 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
函数,一个用于整数,另一个用于浮点数。它们具有相同的函数名称,但参数的类型和数量不同。
形参是定义函数时使用的变量,表示传递给函数的值。参数传递可以使用值传递、引用传递和指针传递等方式。函数参数也可以具有默认值,并且参数的种类和数量可以用于重载函数。