函数模板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数模板相关的知识,希望对你有一定的参考价值。

   假设我现在想要比较两个整数的大小,于是我把这一功能写成一个函数,通过函数来实现,然后,我在主函数中调用这个函数就可以了。那假如我又想比较两个float类型的数据的大小,两个double类型的数据的大小,那岂不是我得再重写函数,这样一来,就会显得相当的麻烦。为了节省代码,解决这一麻烦,C++引入了模板这一概念。那么,在定义一个模板函数之前,得加上那么一句话,用来申请模板变量。

template < typename T >

   这样一来,就可以用T来表示各个数据类型了。现在,我来写一个找出最大值的函数。

T& max ( T& a, T& b ){

    return ( ( a > b ) ? a: b );
}

   当然,函数模板还支持数组类型的。比如,我在主函数中,写了这么些代码:

int main ( int argc, char** argv ){

    char a[] = "chen";
    char b[] = "tong";  //此时T = char[3]类型


}

   如果是传引用,那么必须得保证两个参数的数据长度一样,但是如果传的是指针,那么参数长度就算不一样也不会有任何问题。代码如下:

template < typename T >
T* mymax ( T* a, T* b ){

    return ( a > b > ? a: b;
}


本文出自 “梵高说我脑子有病” 博客,请务必保留此出处http://chen0547.blog.51cto.com/12489941/1979854

以上是关于函数模板的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段2——.vue文件的模板

VSCode自定义代码片段(vue主模板)

Eclipse 中的通用代码片段或模板

nodejs常用代码片段