在程序设计中,经常要使用到函数体相同的函数,如果我们要根据所使用的参数表不同来决定调用具体哪个函数时,我们经常使用的方式是进行函数重载,但是当我们的函数很多的时候会发现实现起来很不方便。所以c++提供了函数模板的概念,这和类模板实现起来的方式是类似的。
下面举个例子,我们经常要使用的冒泡排序算法,被排序的对象可能是double,int,char,float等等,下面是实现代码:
template <typename T1,typename T2> void bubble(T1 *A, T2 len) { T1 temp; for(int i=0;i<len;i++) { for(int j=i;j<len;j++) { if(A[i]>A[j]) { temp=A[i]; A[i]=A[j]; A[j]=temp; } } } }
这样我们就可以根据被排序对象的类型进行具体函数调用了。
时间: 2024-10-23 03:02:38