C++ Standard Template Library
La **Standard Template Library** (STL) del C++ è una collezione di classi template
e di algoritmi che permettono al programmatore di implementare facilmente strutture
dati standard come code, liste e pile
Indice |
[modifica] Strutture Dati
La STL implementa i seguenti costrutti (raggruppati in tre categorie):
- Sequenze
- Adattatori di Contenitori
- Contenitori Associativi
L'idea che sta alla base della STL del C++ è che il gran parte del lavoro necessario ad usare strutture dati complesse deve essere implementato nella libreria di template. Se un programmatore vuole creare uno stack di interi tutto quello che deve fare è usare questa linea di codice:
stack<int> myStack;
Con sforzo minimo uno può aggiungere allo stack altri interi con i comandi it/stl/stack/push e it/stl/stack/pop. Tuttavia le classi template permettono di creare stack con ogni tipo dati, non solo dati elementari come gli interi. Lo Stack di STL ha le funzionalità generali di uno stack indipendentemente dal tipo di dati contenuto in esso.
[modifica] Algoritmi
La STL del C++ contiene anche una serie di utili algoritmi come it/stl/algorithm/binary_search, it/stl/algorithm/sort, and it/stl/algorithm/for_each. Gli algoritmi possono venire usati su contenitori o strutture dati.
[modifica] Iteratori
Gli iteratori implementano metodi generali di iterazione sulle strutture dati della STL.
[modifica] Function Objects
L'header <functional> definisce metodi collegati alla creazione di oggetti funzione.
[modifica] Memoria
L'header <memory> contiene dichiarazioni relative a strutture e metodi di gestione della memoria come it/stl/memory/auto_ptr.
[modifica] Utility
Infine ci sono molti metodi di utilità generale come it/stl/utility/make_pair dichiarati nell' header <utility>.