怎麼使用 Template 呢?
以剛剛的 compare()
為例
以剛剛的 compare()
為例
template<typename T>
int compare(T a, T b){
if (a > b)
return 1;
else if (a == b)
return 0;
return -1;
}
int main(){
int a = compare<int>(1, 2);
double b = compare<double>(1.618, 3.141);
return 0;
}
回傳型別也可以參數化 😮
template<typename T>
T minimum(T a, T b){
if (a > b)
return b;
return a;
}
int main(){
int a = min<int>(5, 3);
double b = min<double>(1.618, 3.141);
return 0;
}
還可以有多個型別參數 && 連 Struct 都可以用
template<typename T1, typename T2>
struct pair {
T1 first;
T2 second;
}
int main(){
pair<int, double> a;
a.first = 5;
a.second = 10.24;
return 0;
}