template

template

對於c++來說,一個函數的形參和要返回的值得類型在函數定義時就已經確定。
比如:

int Square(int x)
{
	return x*x;
} 

這樣的話,這個函數就只能計算int型數字得平方。如果我們要計算double呢。
我們需要定義一個double類型的函數

double Square(double x)
{
	return x*x;
}

很麻煩,對嗎。如果你要計算long,float型的,你還要重新定義函數。

大佬們當然早就想到了這個問題,所以引入一個template。
現在,我們這樣寫這段代碼:

template<typename T> //T只是一個字母,你取ABCD都可以。用T相當於一種命名規範

T Square(T x)
{
 	return x*x;
 }

當我們調用這個函數時,我們這樣調用:

Square<double>(5.5);  // 計算double類型的數據
Square<int>(5);       // 計算int類型的數據

這樣,就簡單多了。

實際上,這樣寫也沒錯:和上面代碼功能完全一樣

Square(5.5);  // 計算double類型的數據
Square(5);       // 計算int類型的數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章