Programmazione generica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Giuseppe Masino ha spostato la pagina Utente:Giuseppe Masino/Programmazione generica a Programmazione generica: Pubblicazione bozza da sandbox utente
Etichetta: Bozza o sandbox pubblicata da non AV
Riga 87:
 
C++ usa i ''template'' per abilitare le tecniche di programmazione generica. La libreria standard del C++ include la ''[[Standard Template Library]]'' (STL) che offre un [[framework]] di ''template'' per strutture dati e algoritmi comuni. I ''template'' in C++ possono anche essere usati per la [[metaprogrammazione]], costruendo delle espressioni che vengono valutate durante la [[compilazione]], piuttosto che in fase di [[esecuzione (informatica)|esecuzione]]. Attraverso l'uso della "specializzazione dei template" i ''template'' del C++ costituiscono un sistema ''[[turing complete]]''.
 
A partire da [[C++11]] il linguaggio supporta i ''template'' variadici, ovvero ''template'' che accettano un numero variabile di parametri.<ref>
{{Cita web
|url=http://www.jot.fm/issues/issue_2008_02/article2/
|titolo=Variadic Templates for C++0x
|autore=Douglas Gregor e Jaakko Järvi
|lingua=en
}}
</ref>
Questa funzionalità permette di gestire in maniera ''type-safe'' tutte quelle situazioni che classicamente avrebbero richiesto una "semplice" [[funzione variadica]], con tutte le restrizioni e i compromessi del caso.<ref>
{{Cita libro
|autore=[[Bjarne Stroustrup]]
|titolo=C++ Linguaggio, libreria standard, principi di programmazione
|edizione=4
|capitolo=28.6 Template Variadici
|anno=2015
|editore=Pearson Italia
|isbn=9788865184486
}}
</ref>
 
== Note ==