Function Template template template class T T min

  • Slides: 9
Download presentation
Function Template 函式的模板 井民全

Function Template 函式的模板 井民全

使用template範例 template <class T> T min( T a, T b){ return a < b

使用template範例 template <class T> T min( T a, T b){ return a < b ? a : b; } void main() { min(10, 20); min(10. 0, 20. 0); } 輸入整數 輸入浮點數 template. Demo. dsw

型態變數 template <class T> T min( T a, T b){ return a < b

型態變數 template <class T> T min( T a, T b){ return a < b ? a : b; } 你不一定要使 用 T 這個變數 template <class X> X min(X a, X b){ return a < b ? a : b; }

多種資料型態 template <class T 1, class T 2, class T 3> void fun(){ T

多種資料型態 template <class T 1, class T 2, class T 3> void fun(){ T 1 a; 輸入參數的型別 T 2 b; 注意: 型別變數名稱一定要不同 T 3 c; template <class T 1, class T 1> // 是錯的 } void main(){ fun<short, int, double>(); } 注意角括號 指定 short 對應 T 1 int 對應 T 2 double 對應 T 3

常數 template <class T, int size> T* Alloc. Memory(){ return new T[size]; } void

常數 template <class T, int size> T* Alloc. Memory(){ return new T[size]; } void main(){ int *Buffer=Alloc. Memory<int, 1024>(); double *Buffer=Alloc. Memory<double, 4096>(); } const. Demo. dsw

End

End