BeNvEntI NeL MiO BlOg

BeNvEntI NeL MiO BlOg

ciao raga...in questo blog vi scriverò cio che faremo nelle ore di scuola soprattutto in quelle di informatica...spero che venga bene e che vi piaccia...


AtTeNzIoNe tI VeDo!!!

Sign by Danasoft - Myspace Layouts and Signs

sabato, gennaio 17, 2009

Template

Documenti elettronici
Con il termine template si intende anche un modello di documento (es. Microsoft Office o Openoffice) nel quale sono importati dati esterni con una certa frequenza. Il layout della pagina rimane invariato ogni volta, facilitando la ricerca e l'archiviazione dei documenti, il confronto fra versioni ovvero un'immagine dell'azienda presso l'esterno. Lavorando con dei fogli di calcolo, il template serve non solamente come foglio di stile per l'aspetto grafico, ma contiene delle formule che rendono i documenti confrontabili nel tempo.

Programmazione
Nel gergo della programmazione informatica viene usato per definire la funzionalità del linguaggio C++ che permette di scrivere codice funzionante a prescindere dal tipo di dato che verrà effettivamente usato in esecuzione. Ovvero, i template sono il mezzo con cui il C++ supporta la programmazione generica. Mediante i template è possibile creare del codice che ha un elevato grado di riutilizzabilità, facendo risparmiare al programmatore moltissimo lavoro ridondante. Ad esempio sarà possibile implementare una lista senza pensare minimamente al tipo che essa userà effettivamente. Un altro esempio può essere una funzione che ordina degli array: in questi casi è sufficiente specificare solo le operazioni di scambio e la funzione di ordinamento desiderata (ordine crescente o decrescente).
La Standard Template Library (STL) del C++ mette a disposizione del programmatore molte utili funzionalità all'interno di una elegante struttura di template.
Ci sono due tipi di template in C++: le funzioni template e le classi template.

Il compilatore non può tentare minimanente di intuire il tipo che in fase di esecuzione verrà effettivamente utilizzato. Anche se nel main è presente una singola chiamata max(int, int) non può certo prendere iniziative, anche perché possono essere presenti una serie di condizioni che, a seconda dei casi, possono stravolgere le chiamate. Proprio per questo motivo, le classi o le funzioni che utilizzano i template, non possono essere implementati nei file con estensione .cpp, perché il compilatore per l'appunto, non può decidere cosa accadrà in fase di esecuzione. Le implementazioni perciò devono rimanere nel file di definizione, ossia i file con estensione .h.
In fase di esecuzione invece, il sistema esamina gli argomenti, determina che si tratta di una chiamata a max(int, int) e instanzia una versione della funzione dove il tipo int viene utilizzato al posto di T.
Questo processo funziona se gli argomenti x e y sono interi, stringhe, o qualunque altro tipo per il quale ha senso dire "x < title="Numero complesso" href="http://it.wikipedia.org/wiki/Numero_complesso">numeri complessi non possono essere ordinati. Dunque se scrivessimo del codice che tentasse di chiamare la funzione template max(x, y), dove x e y siano di tipo complex, otterremmo un errore di compilazione.

Nessun commento:

play list


VideoPlaylist
I made this video playlist at myflashfetish.com