模板 :分為函數(shù)模板和類模板
在C++中允許我們將處理問題的邏輯從不同的數(shù)據(jù)類型中抽離出來形成容器和算法
當我們需要對某種數(shù)據(jù)進行存儲和處理的時候,我們可以在程序中選擇合適的模板指向我們需要的數(shù)據(jù)類型,這時候編譯器就會為我們生產(chǎn)適合這種數(shù)據(jù)類型的數(shù)據(jù)容器和算法函數(shù)
1函數(shù)模板
template<typename T>
T abs(T x){
return x<0?-x:x;
}
使用函數(shù)模板時有兩種方式
- 自動類型推到調(diào)用 Swap(a, b) ( 根據(jù)實參對參數(shù)類型進行推導
- 具體類型顯示調(diào)用 Swap<int>(a, b) (顯示的指定參數(shù)類型)

image.png
2類模板
聲明:
template<模板參數(shù)表>
class 類名
{
}
定義:
template<模板參數(shù)表>
類型名 類名<模板參數(shù)表>::函數(shù)名(參數(shù)表 )
初始化對象
類名<指定的類型參數(shù)>對象名
使用類模板
類模板必須顯示的指定參數(shù)類型