码迷,mamicode.com
首页 > 其他好文 > 详细

函数模板

时间:2017-11-08 14:44:34      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:c++   函数模板   

   假设我现在想要比较两个整数的大小,于是我把这一功能写成一个函数,通过函数来实现,然后,我在主函数中调用这个函数就可以了。那假如我又想比较两个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

函数模板

标签:c++   函数模板   

原文地址:http://chen0547.blog.51cto.com/12489941/1979854

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!