C++ 函数的泛型编程:使用模板参数
引言
泛型编程是一种创建可操作不同数据类型的函数和类的方法。在 C++ 中,泛型编程通过模板参数实现。模板参数允许您指定函数或类在编译时接受的数据类型。
模板语法
立即学习“C++免费学习笔记(深入)”;
模板函数的语法如下:
template<typename T>
returnType functionName(T input) {
// 函数体
}
其中,T 是模板参数,表示函数可以接受任何类型。
使用模板参数
模板函数可以在以下情况下使用模板参数:
- 输入参数类型:例如,functionName(T input)函数可以接受任何类型的数据。
- 返回类型:例如,returnType functionName(T input)函数可以返回任何类型的数据。
- 函数内部:例如,函数体可以使用模板参数T来执行与特定类型相关的操作。
实战案例
以下是一个使用模板参数的交换两个值的函数的示例:
template<typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
此函数可以交换任何类型的值,例如:
int x = 5;
int y = 10;
swap(x, y); // 交换两个整数
std::string str1 = "Hello";
std::string str2 = "World";
swap(str1, str2); // 交换两个字符串
总结
通过使用模板参数,您可以创建可操作不同数据类型的灵活且可重用的函数,这显著提高了代码的效率和可维护性。