c++的特徵之一,函式模板。其關鍵字template 和typename是必不少的,當然typename和class等價。
乙個簡單的函式模板如下
template void swap(any &a,any &b)
其中使用typename而不是用class的原因,我個人認為這樣配合後面的any就一目了然了。更加直接了。此模板意味交換兩個同型別變數的值。
使用:
int swapa = 1;
int swapb = 2;
swap(swapa,swapb);
cout<< swapa << swapb << endl;
string swapc = "swapc";
string swapd = "swapd";
swap(swapc,swapd);
cout << "swapc:" << swapc << "swapd:" << swapd << endl;
申明乙個模板只能對應有乙個函式!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C 模板之函式模板
c 中分為函式模板和類模板,它們之間的相同點是都含有模板型參表,不同點在模板例項化的時候函式模板可以不用顯示的宣告模板類項,編譯器會自動幫我們匹配,而類模板則需要顯示定義出來,例如 template compare type type compare a,b template class queue...
C 模板之函式模板
泛型程式設計 編寫與型別無關的邏輯 是 復用的一種手段。模板是泛型程式設計的基礎 模板代表乙個函式家族,該函式與型別無關,在使用時被引數化,根據實參型別產生函式的特定型別版本 它本身不是類或函式 模板函式的格式 模板的例項化 產生模板特定型別的過程稱為函式模板的例項化 template t add ...
c 之模板函式 模板
模板就是建立通用的模具,大大提高復用性。c 的另一種程式設計思想是泛型程式設計,主要利用的就是模板。c 提供兩種模板機制 函式模板和類模板。宣告 template typename可以替換成class 函式模板 函式模板的作用 建立乙個通用函式,其函式返回值型別和形參型別可以不具體制定,用乙個虛擬的...