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

h6my8fg2  于 2023-10-21  发布在  其他
关注(0)|答案(3)|浏览(145)

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

mum43rcc

mum43rcc1#

术语“函数模板”指的是一种模板。术语“模板函数”有时用于表示相同的事情,有时表示从函数模板示例化的函数。避免这种歧义的最好方法是对前者使用“函数模板”,对后者使用类似“函数模板示例”或“函数模板的示例”。请注意,函数模板不是函数。同样的区别也适用于“类模板”和“模板类”。
来自此FAQ(存档)

vohkndzv

vohkndzv2#

函数模板是正确的术语(用于示例化函数的模板)。
模板函数是一个通俗的同义词。
所以,没有任何区别。

mpgws1up

mpgws1up3#

由编译器从函数模板(泛型函数)为指定数据类型生成的函数称为模板函数。示例:下面的代码被称为函数模板,因为它是函数的模板。

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

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

相关问题