La [[STL|Standard Template Library]] costituisce uno strato software ormai divenuto fondamentale per i programmatori [[C++]], cui fornisce un set precostituito di [[classe (informatica)|classi]] comuni, come container e [[array]] associativi, che hanno la caratteristica di poter operare con qualsiasi tipo di dato, sia primitivo che definito dall'utente, richiedendo allo sviluppatore nel [[design by contract|contratto]] il rispetto di pochi vincoli (ad esempio, l'implementazione di operatori o funzioni di assegnamento o confronto) offrendogli in cambio classi complete di tutte le funzioni e operazioni elementari (ad es. in un container, copia, assegnamento, inserimento/rimozione, iterazione tra gli elementi) e pronte all'uso.