函数模板和模板函数有什么区别?

问题描述 投票:0回答:3

函数模板和模板函数有什么区别?

c++ templates terminology function-templates
3个回答
16
投票

术语“函数模板”是指模板的一种。术语“模板函数”有时用于表示同一事物,有时用于表示从函数模板实例化的函数。最好通过对前者使用“函数模板”和对后者使用“函数模板实例”或“函数模板实例”之类的内容来避免这种歧义。请注意,函数模板不是函数。同样的区别也适用于“类模板”与“模板类”。

来自此常见问题解答存档


0
投票

函数模板是正确的术语(用于实例化函数的模板)。

模板函数是一个通俗的同义词。

所以,没有任何区别。


0
投票

编译器根据函数模板(泛型函数)针对指定数据类型生成的函数称为模板函数。 例子: 下面的代码称为函数模板,因为它是函数的模板。

template<T>
T doubleVal(T a){
  return a+a;
 }
int main(){
  cout<<doubleVal<int>(5)<<endl;
}

当我们编译这段代码时,编译器将通过引用模板函数来编写一个 int 函数。该函数称为模板函数。

© www.soinside.com 2019 - 2024. All rights reserved.