在C++中,函数参数可以通过值传递或引用传递。对于引用传递的参数,在函数定义时可以省略参数名称,只保留引用符号&
。这是因为引用是一个别名,它指向传递给函数的实参,因此函数内部可以直接使用它,而不需要复制参数的值。这也提高了程序的效率,因为引用传递避免了参数值的复制。
例如,下面的代码演示了如何使用引用传递来交换两个整数变量的值:
void swap(int &, int &);
int main() {
int x = 10, y = 20;
swap(x, y);
cout << "x = " << x << ", y = " << y << endl;
return 0;
}
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
在这个例子中,swap()
函数定义中的形参a
和b
都是引用类型,没有指定参数名称。当函数被调用时,x
和y
的值被传递给函数,函数内部通过引用a
和b
来访问它们,并将它们的值交换。注意,调用swap()
函数时不需要使用取地址符&
,因为参数已经是引用类型了。
需要注意的是,引用传递只是C++中的一种特性,C语言并不支持引用类型。在C语言中,通常使用指针来实现类似的功能。