Specialization explícito de plantillas de función
Con una plantilla de función, puede definir el comportamiento especial para un tipo específico proporcionando una especialización explícita (reemplazo) de la función para ese tipo.Por ejemplo:
template<> void MySwap(double a, double b);
Esta declaración permite definir una función diferente para las variables de Doble .Como funciones de plantilla, se aplican las conversiones de tipo standard (como promover una variable de Hacer flotante tipo a Doble).
Ejemplo
// 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()
{
}