函数模板和模板函数有什么区别?
mum43rcc1#
术语“函数模板”指的是一种模板。术语“模板函数”有时用于表示相同的事情,有时表示从函数模板示例化的函数。避免这种歧义的最好方法是对前者使用“函数模板”,对后者使用类似“函数模板示例”或“函数模板的示例”。请注意,函数模板不是函数。同样的区别也适用于“类模板”和“模板类”。来自此FAQ(存档)
vohkndzv2#
函数模板是正确的术语(用于示例化函数的模板)。模板函数是一个通俗的同义词。所以,没有任何区别。
mpgws1up3#
由编译器从函数模板(泛型函数)为指定数据类型生成的函数称为模板函数。示例:下面的代码被称为函数模板,因为它是函数的模板。
template<T> T doubleVal(T a){ return a+a; } int main(){ cout<<doubleVal<int>(5)<<endl; }
当我们编译这段代码时,编译器将通过引用模板函数来编写一个int函数。这个函数被称为模板函数。
3条答案
按热度按时间mum43rcc1#
术语“函数模板”指的是一种模板。术语“模板函数”有时用于表示相同的事情,有时表示从函数模板示例化的函数。避免这种歧义的最好方法是对前者使用“函数模板”,对后者使用类似“函数模板示例”或“函数模板的示例”。请注意,函数模板不是函数。同样的区别也适用于“类模板”和“模板类”。
来自此FAQ(存档)
vohkndzv2#
函数模板是正确的术语(用于示例化函数的模板)。
模板函数是一个通俗的同义词。
所以,没有任何区别。
mpgws1up3#
由编译器从函数模板(泛型函数)为指定数据类型生成的函数称为模板函数。示例:下面的代码被称为函数模板,因为它是函数的模板。
当我们编译这段代码时,编译器将通过引用模板函数来编写一个int函数。这个函数被称为模板函数。