功能模板和模板功能有什么区别?
答案 0 :(得分:13)
术语“功能模板”是指一种模板。术语“模板函数”有时用于表示相同的事物,有时用于表示从函数模板实例化的函数。通过对前者使用“功能模板”以及对于后者使用“功能模板实例”或“功能模板的实例”之类的东西,可以最好地避免这种歧义。请注意,函数模板不是函数。同样的区别适用于“类模板”与“模板类”。
来自this FAQ。
答案 1 :(得分:4)
Comeau Computing(C ++ Comeau Compiler的制造商)在他们的网站上有一个FAQ来回答这个问题:
What is the difference between a template function and a function template?
的问候,
Ovanes
答案 2 :(得分:1)
函数模板是正确的术语(用于实例化函数的模板)。
模板功能是口语的同义词。
所以,没有任何区别。
答案 3 :(得分:0)
由编译器从函数模板(通用函数)为指定数据类型生成的函数称为模板函数。 例: 以下代码称为函数模板,因为它是函数的模板。
template<T>
T doubleVal(T a){
return a+a;
}
int main(){
cout<<doubleVal<int>(5)<<endl;
}
当我们编译此代码时,编译器将通过引用模板函数为int编写函数。该功能称为模板功能。