C++通过指针实现值交换
时间: 2024-09-12 13:15:27 浏览: 37
C++交换指针实例
在C++中,可以使用指针来实现两个变量之间的值交换,而不需要借助额外的临时变量。这通常涉及到指针运算和解引用操作。下面是一个简单的示例:
```cpp
#include <iostream>
void swap(int* a, int* b) {
// 使用指针算术操作实现值交换
int temp = *a; // 保存a指向的值
*a = *b; // 将b的值赋给a
*b = temp; // 将保存的temp的值赋给b
}
int main() {
int x = 5;
int y = 10;
std::cout << "Before swap: x = " << x << ", y = " << y << std::endl;
// 传递变量的地址给swap函数
swap(&x, &y);
std::cout << "After swap: x = " << x << ", y = " << y << std::endl;
return 0;
}
```
在这个例子中,`&x` 和 `&y` 分别获取了变量 `x` 和 `y` 的地址并作为参数传递给 `swap` 函数。函数内部通过解引用操作修改了指针所指向的实际数值。
阅读全文