title: Template variadico
text: # Template variadico
  
  In programmazione, i template variadici sono template che accettano un numero variabile di argomenti. I template variadici sono supportati in C++ (dallo standard 11) e in D.
  
  La necessità di dover gestire un numero sconosciuto di elementi è un problema comune. Per esempio, una funzione di segnalazione degli errori può accettare tra zero e dieci argomenti, una matrice può avere una o dieci dimensioni, e una tupla può avere da zero a dieci elementi. Notare che nel primo e nell'ultimo esempio gli elementi potrebbero non essere necessariamente dello stesso tipo. Nella maggior parte delle situazioni sarebbe preferibile non gestire separatamente ciascun caso. L'ideale sarebbe che un singolo brano di codice gestisse i casi di un elemento, due elementi, tre elementi e così via.
  
  ## C++
  
  Prima del C++11 i template potevano accettare solo un numero definito di parametri. C++11 permette di definire template che accettino un numero arbitrario di parametri.
  
  Nell'esempio seguente, un template che funge da interfaccia per stampare sulla console dei messaggi di debug utilizzando la funzione printf.
  
  