Explizite Spezialisierung von Funktionsvorlagen

Bei einer Funktionsvorlage können Sie ein spezielles Verhalten für einen bestimmten Typ definieren, indem Sie eine explizite Spezialisierung einer Funktionsvorlage (Überschreibung) für diesen Typ bereitstellen.Beispiele:

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

Durch diese Deklaration können Sie eine andere Funktion für double-Variablen zu definieren.Wie nicht auf Vorlagen basierende Funktionen werden konvertierungen Standard (z. B. Höherstufen einer Variablen vom Typ float zu double) angewendet.

Beispiel

// 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()
{
}

Siehe auch

Referenz

Funktionsvorlagen