c++实现模板函数swap
时间: 2023-10-28 20:05:26 浏览: 99
在C++中实现模板函数swap可以使用如下的代码:
```
template<class T>
void my_swap(T& o1, T& o2) {
T temp = o1;
o1 = o2;
o2 = temp;
}
```
注意,在使用模板函数时,需要在前面加上`template<class 类型>`来指定模板类型。上面的代码中,`my_swap`函数可以交换任意相同类型的变量。
相关问题
C++ 使用模板函数实现Swap( x, y ),函数功能为交换x、y的值。
```
#include <iostream>
template<typename T>
void Swap(T& x, T& y)
{
T temp = x;
x = y;
y = temp;
}
int main()
{
int a = 1, b = 2;
std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
Swap(a, b);
std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
return 0;
}
```
使用c++函数模板实现swap(&x,&y)交换两个实参变量a和b的指。
可以通过以下函数模板实现swap(&x,&y)交换两个实参变量a和b的值:
```c++
template <typename T>
void swap(T* a, T* b) {
T temp = *a;
*a = *b;
*b = temp;
}
```
这个函数模板接受一个指向类型为T的变量的指针a和另一个指向类型为T的变量的指针b。然后,它在一个名为temp的临时变量中存储a的值,将b的值存储到a中,最后将temp的值存储到b中,以实现交换。这个函数模板可以用于任何类型的变量,只要这些变量支持赋值操作。
阅读全文