Panoramica della libreria standard C++ (STL)

Tutte le entità di libreria di C++ sono dichiarate o definite in una o più intestazioni standard. Questa implementazione include due altre intestazioni e <hash_map><hash_set>, non richieste dallo standard C++. Per un elenco completo delle intestazioni supportate da questa implementazione, vedere Informazioni di riferimento per i file di intestazione.

Lo standard C++ definisce due tipi di librerie conformi:

  • Implementazione ospitata, che supporta tutte le intestazioni della libreria standard necessarie descritte dallo standard ISO C++.
  • Implementazione indipendente, che richiede solo un subset delle intestazioni della libreria standard. Il subset richiesto è:
Subset di intestazione freestanding
<atomic> (dichiarando almeno atomic_signed_lock_free e atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(dichiarando almeno abort, atexit, at_quick_exit, exit, ) quick_exit <ratio>
<cfloat> <exception> <tuple>
<climits> <functional> <typeinfo>
<compare> <initializer_list> <source_location>
<concepts> <iterator> <type_traits>
<coroutine> <limits> <utility>
<cstdarg> <memory> <version>
<cstddef> <new>

Le intestazioni seguenti sono deprecate a partire da C++11: <ciso646>, <cstdalign>e <cstdbool>.

Altre differenze tra implementazioni indipendenti e ospitate sono:

  • Le implementazioni ospitate richiedono una funzione globale denominata main. Un'implementazione indipendente può definire le proprie funzioni di avvio e terminazione.
  • Le implementazioni ospitate devono supportare più thread in esecuzione contemporaneamente. Gli implementatori di implementazioni indipendenti decidono se la libreria supporta thread simultanei.

La libreria standard Microsoft C++ soddisfa i requisiti indipendenti e ospitati.

Le intestazioni della libreria C++ hanno due suddivisioni più ampie:

Questa sezione contiene le sezioni seguenti:

Per altre informazioni sulle librerie di runtime di Visual C++, vedere CRT Library Features (Funzionalità libreria CRT).

Nota

L'implementazione di Microsoft della libreria standard C++ viene spesso definita libreria standard STL o Standard. Anche se la libreria standard C++ è il nome ufficiale della libreria come definito in ISO 14882, a causa dell'uso comune di "STL" e "Libreria modelli standard" nei motori di ricerca, vengono usati occasionalmente per semplificare la ricerca della documentazione. Dal punto di vista storico, "STL" originariamente si riferiva alla Libreria modello standard scritta da Alexander Stepanov. Parti di tale libreria sono state standardizzate nella libreria standard C++, insieme alla libreria di runtime ISO C, alle parti della libreria Boost e ad altre funzionalità. A volte viene usato anche "STL" per fare riferimento ai contenitori e alle parti degli algoritmi della libreria standard C++ adattata dalla libreria STL di Stepanov. In questa documentazione la libreria di modelli standard (STL) fa riferimento alla libreria standard C++ nel suo complesso.

Vedi anche

Libreria standard C++