在c++中使用函数模板实现swap(&x,&y)交换两个实参变量a和b的指。
时间: 2024-03-10 18:47:43 浏览: 97
C++交换指针实例
好的,我可以帮你写一个函数模板来实现这个功能。以下是示例代码:
```c++
template<typename T>
void swap(T* a, T* b) {
T temp = *a;
*a = *b;
*b = temp;
}
```
这个函数模板可以接受任何类型的指针参数,只要这些类型支持复制构造函数和赋值运算符。在函数体中,我们首先创建一个临时变量 temp 来存储 a 所指向的值,然后将 b 所指向的值赋给 a 所指向的值,最后将 temp 的值赋给 b 所指向的值,完成两个参数变量的交换。你可以像这样调用这个函数模板:
```c++
int x = 1, y = 2;
swap(&x, &y); // x = 2, y = 1
```
希望这个函数模板能够帮助你解决问题!
阅读全文