Standard Template Library: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 4:
La STL costituisce uno strato software ormai divenuto fondamentale per i programmatori [[C plus plus|C++]]: dà ai programmatori un set precostituito di classi comuni, come containers e array associativi, che possono essere utilizzati con qualsiasi tipo, sia primitivo che definito dall'utente, con il supporto ad alcune operazioni elementari come copia ed assegnamento.
La STL raggiunge questo risultato attraverso il massiccio utilizzo dei [[Programmazione generica|template]]s. Questo tipo di approccio è molto potente,
Ciò accade per il particolare approccio alla programmazione generica che è stato seguito nell'implementazione della libreria, quello dei templates; in pratica lo standard non richiede, a differenza delle librerie standard del C e del C++, di generare una libreria con codice oggetto cui linkare i programmi che la utilizzano, ma segue un'altra via: le classi e le funzioni non sono dei "prodotti finiti", ma poco più che degli schemi; al momento dell'istanziamento di un oggetto o funzione template, tramite una sintassi particolare, possono essere specificati dei parametri (ad esempio, il tipo che deve essere contenuto in una struttura dati, o la funzione utilizzata per allocare memoria, etc.) utilizzati di volta in volta dal compilatore per generare in linea il codice finale per quell'oggetto, che quindi verrà in un secondo momento convertito in codice oggetto.
''La C++ Standard Library'' è definita dallo standard [[ISO/IEC 14882]].
|