当谈到C++中的模板时,我们在谈论一种强大的工具,它允许程序员编写通用的代码,而不必为特定类型编写多个版本。模板使得编写可重用和灵活的代码变得更加容易,因为它们允许您编写与任何数据类型一起使用的通用算法和数据结构。
什么是模板?
模板是一种机制,它允许程序员编写通用的函数或类,而不必指定将要操作的确切数据类型。这使得编写可重用的代码变得更容易。C++中有两种主要类型的模板:
- 函数模板: 它允许您编写一个通用函数,可以处理多种不同类型的参数。
- 类模板: 它允许您编写一个通用类,可以在不同类型的数据上操作。
函数模板
让我们首先看一个简单的函数模板示例,该模板可以交换任意类型的两个值:
#include <iostream>
// 定义一个函数模板
template <typename T>
void swapValues(T &a, T &b) {
T temp = a;
a = b;
b = temp;
}
int main() {
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;
double a = 3.5, b = 7.8;
std::cout << "Befo