Standard Template Library: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Piffy (discussione | contributi)
Riga 2:
 
== Descrizione ==
La ''Standard Template Library'' (STL) è una [[Libreria (software)|libreria software]] per il [[linguaggio di programmazione]] [[C++]] che ha avuto una grande influenza nella realizzazione della C++ Standard Library. Fornisce quattro componenti: ''algorithms'' ([[Algoritmo|algoritmi]]), ''containers'' (contenitori), ''functions'' ([[Funzione (informatica)|funzioni]]) e ''iterators'' ([[Iteratore|iteratori]] - una generalizzazione dei [[Puntatore (programmazione)|puntatori]]).
La ''Standard Template Library'' costituisce uno strato software ormai divenuto fondamentale per i [[programmatore|programmatori]] [[C++]], cui fornisce un set precostituito di [[classe (informatica)|classi]] comuni, come diverse implementazioni di [[Oggetto container (informatica)|contenitori]], iteratori, cioè una generalizzazione dei [[Puntatore (programmazione)|puntatori]] e oltre 70 [[algoritmo|algoritmi]] per lavorare su tali strutture. Inoltre, sono disponibili i (multi)set e le (multi)map (array associativi).
 
STL offre un insieme di [[classe (informatica)|classi]] C++. quali ad esempio i contenitori e gli [[Array associativo|array associativi]], che possono essere usati con qualunque [[tipo di dato]] - sia esso predefinito o costruito dall'utente - che supporti alcune istruzioni elementari (copia, assegnazione, ecc.). Gli algoritmi implementati in STL risultano indipendenti dai container, cosa che riduce significativamente la complessità della libreria.
 
STL è basta sui [[template]], un approccio che permette il [[Polimorfismo (informatica)|polimorfismo]] in fase di compilazione, nettamente più efficiente del polimorfismo in fase di esecuzione. STL fu la prima libreria di algoritmi e strutture dati generiche per il C++; si basa su quattro idee di fondo: programmazione generica, [[Astrazione (informatica)|astrazione]] senza perdita di efficienza, [[Architettura di von Neumann|modello di elaborazione]] di [[John von Neumann|Von Neumann]] e semantica dei valori.
 
==Storia==