编写一个模板函数 swapValues,该函数接受两个参数,并交换它们的值。 在主函数中,分别使用 int 类型和 string 类型来测试该模板函数。
时间: 2024-10-04 21:01:51 浏览: 32
编写一个名为 `swapValues` 的模板函数,可以通用于多种数据类型,通常通过指针操作实现值的交换。这里是一个C++的例子:
```cpp
template <typename T>
void swapValues(T& a, T& b) {
// 使用临时变量存储一个元素的值,然后将另一个元素的值赋给它,最后再将临时变量的值赋回第一个元素
T temp = a;
a = b;
b = temp;
}
int main() {
// 测试 int 类型
int x = 5, y = 10;
std::cout << "Before swapping (x=" << x << ", y=" << y << "):" << std::endl;
swapValues(x, y);
std::cout << "After swapping (x=" << x << ", y=" << y << "):" << std::endl;
// 测试 string 类型
std::string str1 = "Hello", str2 = "World";
std::cout << "Before swapping (str1=\"" << str1 << "\", str2=\"" << str2 << "\"):";
swapValues(str1, str2);
std::cout << "After swapping (str1=\"" << str1 << "\", str2=\"" << str2 << "\"):" << std::endl;
return 0;
}
```
在这个例子中,`swapValues` 函数的模板允许我们用不同的数据类型(如整数、浮点数、字符串等)去调用这个函数,而无需为每种类型单独编写代码。
阅读全文