编写程序void Swap(int x, int y) 交换两个变量值,分别用指针传递、引用传递、和值传递
时间: 2024-09-18 18:15:01 浏览: 42
c语言swap(a,b)值交换的4种实现方法
在C++中,我们可以通过三种方式实现`Swap`函数来交换两个整数变量`x`和`y`的值:
1. **指针传递**:
```cpp
void swapByPointer(int* x, int* y) {
int temp = *x;
*x = *y;
*y = temp;
}
```
这里,我们使用指针作为参数,通过解引用操作间接访问和交换变量值。
2. **引用传递**:
```cpp
void swapByReference(int& x, int& y) {
int temp = x;
x = y;
y = temp;
}
```
引用传递直接修改了原始变量,无需额外创建临时变量。
3. **值传递**(复制构造和赋值运算符):
```cpp
void swapByValue(int x, int y) {
int temp = x;
x = y;
y = temp;
}
```
尽管看起来像是在交换,但在值传递情况下,这是对`x`和`y`的新副本进行操作,并未影响原始参数的值。
使用这三种方式时,你可以像下面这样调用它们:
```cpp
int a = 10, b = 20;
swapByPointer(&a, &b);
swapByReference(a, b);
swapByValue(a, b);
```
阅读全文