Informatica 2 Liceo Scientifico Scienze Applicate/Template: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da web per mobile
Riga 68:
{
cout << Sum(1, 9.78) << endl;
}
</source>
Che equivale a:
<source lang=cpp>
int main()
{
cout << Sum<int, double>(1, 9.78) << endl;
}
</source>
Il compilatore è in grado di dedurre i tipi automaticamente, senza specificarli. Alcuni Template richiedono però un tipo obbligatoriamente, come <code>std::function<></code> ma anche <code>std::declval<>()</code>. Questo accade quando ad esempio il tipo (o tipi) ignoto è il tipo di ritorno e non vi sono parametri che lo facciano dedurre.
 
==Specializzazione di un Template==
Immaginiamo di avere una classe Array tipo questa