C++语言
完成条件
模板函数(templated-function) 看起来与普通函数类似,但其中的一些类型被模板参数(template-parameter) 作为占位符。例如:
template<typename T>
T ComputeMin(T x, T y) {
return (x < y) ? x : y;
}
在定义这个模板函数时,编译并不会立即发生。相反,只有当 ComputeMin<>
首次被使用 并提供具体的类型时,编译器才会进行实例化(specialization)。例如:
int iResult = ComputeMin<int>(3, 4);
在这段代码中,T=int
被应用,编译器会为 ComputeMin<int>(3, 4)
生成一个具体的实现。
实际上,你可以省略 <int>
,直接写:
int iResult = ComputeMin(3, 4);
因为编译器可以根据参数类型推导出 T=int
,从而自动进行模板实例化。
最后修改: 2025年01月30日 星期四 12:48