Timeline
Chat
Prospettiva

Standard Template Library

libreria software di C++ Da Wikipedia, l'enciclopedia libera

Remove ads
Remove ads

La Standard Template Library (STL) è una libreria software per il linguaggio di programmazione C++ che definisce quattro componenti principali: contenitori, iteratori, algoritmi e funtori.

STL offre un insieme di classi C++. quali ad esempio i contenitori e gli 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 è basata sui template, un approccio che permette il 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 senza perdita di efficienza, modello di elaborazione di Von Neumann e semantica dei valori.

STL è stata progettata e sviluppata presso la Hewlett-Packard da Alexander Stepanov e Meng Lee e sono state incluse nello standard ANSI/ISO nel 1995.

STL e le idee contenute in essa, hanno avuto una notevole influenza nello sviluppo della C++ Standard Library con numerosi programmatori che hanno contribuito allo sviluppo di entrambe le librerie, malgrado ciò le due librerie sono rimaste distinte e nessuna delle due è un super-insieme definito dell'altra.

Remove ads

Contenuti

Riepilogo
Prospettiva

Contenitori

I contenitori della STL si dividono in sequenziali e associativi. A loro volta, una parte dei contenitori sequenziali può essere definita come adattatori, in quanto sono in effetti delle interfacce ridotte e specializzate dei contenitori principali che non implementano iteratori nella loro interfaccia. I contenitori standard sequenziali includono vector, list e deque. E comprendono gli adattatori queue, priority_queue e stack. I contenitori associativi sono set, multiset, map e multimap.

Ulteriori informazioni ) con la capacità di ridimensionarsi automaticamente a causa dell'inserimento o della cancellazione di elementi. Gli elementi sono memorizzati su una porzione di memoria continua. L'inserimento e la rimozione degli elementi nel/dal vector in coda viene effettuato in tempo costante ...

Algoritmi

Nella STL sono inclusi numerosi algoritmi per eseguire operazioni come la ricerca e l'ordinamento. Tali algoritmi sono comunemente utilizzati per la manipolazione dei container in maniera indiretta, cioè solo tramite iteratori. Molti di questi algoritmi operano su un intervallo del container definito dall'utente tramite due iteratori che indicano gli estremi dell'intervallo.

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
Remove ads
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads