c++中函數模板的使用

在程序設計中,經常要使用到函數體相同的函數,如果我們要根據所使用的參數表不同來決定調用具體哪個函數時,我們經常使用的方式是進行函數重載,但是當我們的函數很多的時候會發現實現起來很不方便。所以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;
			}
		}
	}
}
這樣我們就可以根據被排序對象的類型進行具體函數調用了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章