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

Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da web per mobile
Etichette: Modifica da mobile Modifica da web per mobile
Riga 28:
}
</source>
Si possono notare ora due tipi "ignoti": T ed U. Il tipo di ritorno è strano! <bcode lang=cpp>decltype(std::declval<T>() + std::declval<.U>())</bcode> ritorna il tipo della somma di due oggetti di T e di U. È come scrivere
TipoDellaSommaDiTeU. decltype() ritorna il tipo a tempo di compilazione dell'espressione contenuta mentre std::declval<>(), anchesso un Template, ritorna un oggetto del tipo contenuto come parametro Template. E così possibile ottenere il tipo corretto da una operazione di somma.
La chiamata è sempre simile:
Riga 37:
}
</source>
 
==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