c++赋值调用与引用调用
时间: 2023-09-17 09:09:58 浏览: 51
在 C++ 中,函数参数的传递方式有值传递、引用传递和指针传递三种方式。
赋值调用是指向函数传递参数时,将参数的值复制一份传递给函数,函数内部对参数进行修改不会影响原始值。这种方式对于传递简单的变量类型(如 int、float、double 等)比较适用,但对于传递复杂的数据类型(如结构体、数组等)则会消耗较多的资源,因为需要复制整个数据,而且修改也无法体现在原始值上。
引用调用是指向函数传递参数时,将参数的引用传递给函数,函数内部对参数进行修改会直接影响原始值。这种方式对于传递复杂的数据类型(如结构体、数组等)比较适用,因为不需要复制整个数据,而且修改会直接体现在原始值上。
代码示例:
```
void swap_by_value(int a, int b) {
int temp = a;
a = b;
b = temp;
}
void swap_by_reference(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 1, y = 2;
swap_by_value(x, y);
cout << "x = " << x << ", y = " << y << endl; // 输出 x = 1, y = 2
swap_by_reference(x, y);
cout << "x = " << x << ", y = " << y << endl; // 输出 x = 2, y = 1
return 0;
}
```