功能模板和模板功能有什么区别?

时间:2009-07-13 04:54:11

标签: c++ templates terminology

功能模板和模板功能有什么区别?

4 个答案:

答案 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编写函数。该功能称为模板功能。