Da alcune diapositive su modello di specializzazione:Template specializzazione contro sovraccarico
#include <iostream>
using namespace std;
template<class X>
X& min(X& a, X& b)
{
return a > b ? b : a;
}
int& min(int& a, int & b)
{
// rewrite of the function in the case of int:
cout << "int explicit function\n";
return a > b ? b : a;
}
/*
new syntax – the more appropriate way:
template<>
int& min<int>(int& a, int& b)
{
cout << "int explicit function\n";
return a > b ? b : a;
}
*/
Perché è il secondo modo più "adeguato"?
Lettura pertinente: [Perché non si specializzano i modelli di funzione?] (Http://www.gotw.ca/publications/mill17.htm) – juanchopanza
Queste diapositive sono disponibili online? –
@Vaughn In una cartella Casella personale ... – nodwj