通過對乙個排序演算法的編寫,加深理解函式模板即為:型別的引數化
#includeusing輸出結果:namespace
std;
//讓字元資料和 int型資料進行排序
template
int mysort(t1*array, t2 size)
for (int i = 0; i < size; i++)}}
return0;
}template
int myprint(t1*array, t2 size)
cout
<
return0;
}int
main()
;
int size = sizeof(myarray) / sizeof(*myarray);
mysort
(myarray, size);
cout
<< "
排序之後
"<
myprint(myarray, size);
}//chra型別語句塊
system(
"pause");
return0;
}
編寫可變引數函式模板
我們可以使用乙個initializer list來定義乙個可接受可變數目實參的函式。但是,所有實參必須具有相同的型別 或它們的型別可以轉換為同乙個公共型別 可變引數函式通常是遞迴的。第一步呼叫處理包中的第乙個實參,然後用剩餘實參呼叫自身。用來終止遞迴並列印最後乙個元素的函式 此函式必須在可變引數版本...
通用函式可變引數模板
通用可變引數模板 處理不限定個數的引數,處理不同型別 設計可以修改原來的資料的 t value,args args 設計可以修改副本 t value,args args 設計不可以可以改原來的資料不可以修改副本 const t value,const args args 設計引用原來的資料不可以修改...
可變長函式引數模板
include 通用可變引數模板 處理不限定個數的引數,處理不同型別 void showall 空函式,介面,最後結束遞迴 新版本編譯 強制預留介面 template 可變長度!void showall const t value,const args args 設計可以修改原來的資料的 t val...