1.函数可包含多个参数,只要将它们用逗号分开就可以,调用函数时,还可以不提供任何参数。传递给函数的参数类型不必相同
2.任何合法的C++表达式都可作为参数传递函数,包括常量、数学和逻辑表达式以及返回值的其他函数
3.传递给函数的参数将成为改函数的局部变量,即使在调用函数的语句所属的作用域内所有同名变量
例子:
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void swap(int x, int y)
{
int temp = x;
x = y;
y = temp;
}
int main(int argc, char** argv) {
int x = 4, y = 13;
swap(x, y);
std::cout << x << " " << y << "\n";
return 0;
}
出乎意料的是,函数swap()没有交换变量的值,让x为13,y为4.相反,这些变量的值保持不变。其中的原因是,函数swap()收到的参数为该函数内部的局部变量,交换他们的值不会影响调用函数swap()前创建的同名变量
对函数参数所做的修改不会影响调用它的函数内部的值,这称为按值传递。因为传递给函数的是值,这将创建每个参数的本地备份,这些本地备份与其他局部变量一样。
函数swap()交换的是通过参数收到的局部变量,而不影响用于调用函数swap()的变量,由于变量是按值传递的,因此函数swap()不会按您的期望的方式工作。
C++中的函数参数
最新推荐文章于 2024-06-25 17:29:18 发布