Informatica 2 Liceo Scientifico Scienze Applicate/Template: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 64:
Sfortunatamente
==Problemi con i Template==
I Template hanno dei problemi. Il primo è che niente vieta di chiamare una funzione che utilizza certi operatori o certe funzioni membro. Ad esempio chiamate del tipo
<source lang=cpp>
int main()
{
cout << Sum<int*, int*>(
}
</source>
mettono in crisi il nostro compilatore, non tanto per gli indirizzi <code lang=cpp>nullptr</code>, ma perché tenta di chiamare <code lang=cpp>(int*).operator+(int*)</code>, che non esiste. Non abbiamo quindi sicurezza per quanto riguarda i tipi. Il secondo è che il compilatore è costretto a creare una funzione per ogni tipo che chiamiamo, il che produce codice molto ridondante.
==Variadic Template==
|