模板就是建立通用的模具,大大提高復用性。
c++的另一種程式設計思想是泛型程式設計,主要利用的就是模板。
c++提供兩種模板機制:函式模板和類模板。
宣告:template//typename可以替換成class
函式模板
函式模板的作用:建立乙個通用函式,其函式返回值型別和形參型別可以不具體制定,用乙個虛擬的型別來代表。
#include#include假設我們要設定所有資料型別的交換函式,那麼如果按照普通的方式來寫,就要寫很多的函式,利用泛型就可以進行簡化。#include
using
namespace
std;
void swapint(int& a,int&b)
void swapfloat(float& a, float&b)
intmain()
#include#include輸出:#include
using
namespace
std;
//模板函式
//宣告乙個模板,表明t是乙個通用資料型別
templatevoid myswap(t& a,t&b)
intmain()
模板注意事項:
C 模板之函式模板
c 中分為函式模板和類模板,它們之間的相同點是都含有模板型參表,不同點在模板例項化的時候函式模板可以不用顯示的宣告模板類項,編譯器會自動幫我們匹配,而類模板則需要顯示定義出來,例如 template compare type type compare a,b template class queue...
C 模板之函式模板
泛型程式設計 編寫與型別無關的邏輯 是 復用的一種手段。模板是泛型程式設計的基礎 模板代表乙個函式家族,該函式與型別無關,在使用時被引數化,根據實參型別產生函式的特定型別版本 它本身不是類或函式 模板函式的格式 模板的例項化 產生模板特定型別的過程稱為函式模板的例項化 template t add ...
C 之函式模板
c 中有很多函式僅僅是引數型別不同,但是實現過程相似,可以寫乙個通用的函式,使用非例項化的引數型別,該引數在函式被呼叫時進行例項化,這種函式稱之為模板函式 普通函式 引數值未定,但引數型別已知 模板函式 引數值和引數型別均為未知 template t表示未確定的模板引數型別 void functio...