Udostępnij za pośrednictwem


Jawne specjalizacji funkcji szablonów

Za pomocą szablonu funkcji można zdefiniować zachowanie szczególne dla określonego typu poprzez zapewnienie wyraźnej specjalizacji (Zastąp) szablonu funkcji dla tego typu.Na przykład:

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

Deklaracja ta pozwala na zdefiniowanie innej funkcji dla double zmiennych.Jak funkcje-template, standardowy typ konwersji (takich jak promowanie zmiennej typu pływaka do double) są stosowane.

Przykład

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

Zobacz też

Informacje

Funkcja szablonów