
C++ 函数模板中的泛型类型
在 C++ 中,泛型函数模板允许您创建可以在不同数据类型上工作的函数。这使得代码更加灵活和可重用。
语法
泛型函数模板的语法如下:
立即学习“C++免费学习笔记(深入)”;
template <typename T>
函数名称(T 参数列表)
{
// 函数体
}其中:
-
template <typename T>声明该函数是模板,T是泛型类型参数。 -
函数名称是函数的名称。 -
参数列表是函数的参数列表,其中可以包含泛型类型参数T。 -
函数体是函数的实际实现。
实战案例:最大值函数
下面是一个找到两个值最大值的泛型函数模板的示例:
template <typename T>
T max(T a, T b)
{
return (a > b) ? a : b;
}这个函数接受两种泛型类型参数 a 和 b,并返回其中较大的值。
使用
要使用泛型函数模板,您只需用特定的数据类型替换泛型类型参数即可。例如,要查找两个整数的最大值,您可以编写如下代码:
int max_int = max<int>(10, 20); // max_int 为 20
同样,要查找两个浮点数的最大值,您可以编写:
float max_float = max<float>(3.14, 2.71); // max_float 为 3.14
注意事项
- 泛型类型参数必须是类类型,指针类型或引用类型。
- 在函数体中,泛型类型参数可以像普通类型一样使用。
- 泛型函数模板可以在类和命名空间中定义。









