template <class AnytTpe>
// 也可以 template <typename AnyType>
// 但眾人覺得class容易和類別搞混,所以後期才加入typename識別字
// 舊一點的compiler可能不認識typename,就只好用class了
// 多種typename就用,區隔
// 例如template <typename AnyType1, typename AnyType2>
void Swap(AnyType &a, AnyType &b)
{
AnyType temp;
temp = a;
a = b;
b = temp;
}
前置處理器就會幫你將各個呼叫Swap的地方複製一份對應參數型態的複本出來,最棒的地方在於 template function 也和一般 function 一樣可以被多載,
void Swap(AnyType &a, AnyType &b);
void Swap(AnyType *a, AnyType *b);
沒有留言:
張貼留言