1、使用函数模板实现swap(&x,&y)交换两个实参变量a和b的值
时间: 2024-03-10 12:46:06 浏览: 42
可以使用如下的函数模板来实现swap函数:
```c++
template<typename T>
void swap(T& a, T& b){
T temp = a;
a = b;
b = temp;
}
```
使用方法如下:
```c++
int main(){
int a = 1, b = 2;
swap(a, b);
std::cout << a << " " << b << std::endl; //输出 2 1
return 0;
}
```
这里使用了引用来实现交换,因为引用也是可以通用的,可以用于任何类型的变量,不需要针对每种类型都写一个交换函数。
相关问题
使用函数模板实现swap(&x,&y)交换两个实参变量a和b的值
好的,我可以为您提供一个函数模板实现swap(&x,&y)交换两个实参变量a和b的值的代码:
```c++
template<typename T>
void swap(T& a, T& b) {
T tmp = a;
a = b;
b = tmp;
}
```
这个函数模板可以接受任意类型的参数,并且可以交换它们的值。您可以这样调用它:
```c++
int x = 1, y = 2;
swap(x, y);
```
调用后,x的值为2,y的值为1。同样的,您也可以将它用于其他类型的变量,例如:
```c++
double a = 1.0, b = 2.0;
swap(a, b);
```
调用后,a的值为2.0,b的值为1.0。
使用函数模板实现swap(&x,&y)交换两个实参变量a和b的值
可以这样实现:
```c++
template<typename T>
void swap(T& x, T& y) {
T temp = x;
x = y;
y = temp;
}
```
这个函数模板可以用于交换任何类型的变量值,例如:
```c++
int a = 1, b = 2;
swap(a, b);
// a = 2, b = 1
double c = 3.14, d = 1.414;
swap(c, d);
// c = 1.414, d = 3.14
```
阅读全文