函式樣板的明確特製化

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

透過函式樣板,您可以提供該類型的明確特製化 (覆寫) 函式樣板,來定義該特定類型的特殊行為。 例如:

template<> void MySwap(double a, double b);  

這個宣告可讓您為 double 變數定義不同的函式。 如同非樣板函式,會套用標準類型轉換 (例如將 float 類型的變數提升為 double)。

// explicit_specialization.cpp  
template<class T> void f(T t)  
{  
};  
  
// Explicit specialization of f with 'char' with the  
// template argument explicitly specified:  
//  
template<> void f<char>(char c)  
{  
}  
  
// Explicit specialization of f with 'double' with the  
// template argument deduced:  
//  
template<> void f(double d)  
{  
}  
int main()  
{  
}  

函式樣板

顯示: