函数模板实例化

在函数模板为每个类型时首先调用中,编译器创建一个实例化。 每个实例化是为该类型的该模板化功能的版本。 在中,此函数为类型时,使用此实例化将调用。 如果您有几个相同的实例化,即使在不同的模块,因此,只有该实例化的一个副本在可执行文件将结果。

函数参数将所有参数的函数模板允许和参数,对该参数不依赖于模板参数的位置。

函数模板可以通过声明与特定类型的模板显式实例化作为参数。 例如,下面的代码授予权限:

// function_template_instantiation.cpp
template<class T> void f(T) { }

// Instantiate f with the explicitly specified template.
// argument 'int'
//
template void f<int> (int);

// Instantiate f with the deduced template argument 'char'.
template void f(char);
int main()
{
}

请参见

参考

函数模板