Vue d’ensemble de la bibliothèque standard C++ (STL)

Toutes les entités de bibliothèque C++ sont déclarées ou définies dans un ou plusieurs en-têtes standard. Cette implémentation inclut deux autres en-têtes et <hash_map><hash_set>, qui ne sont pas requis par la norme C++. Pour obtenir la liste complète des en-têtes pris en charge par cette implémentation, consultez la référence des fichiers d’en-tête.

La norme C++ définit deux types de bibliothèques conformes :

  • Implémentation hébergée qui prend en charge tous les en-têtes de bibliothèque standard requis décrits par la norme ISO C++.
  • Implémentation autonome, qui ne nécessite qu’un sous-ensemble des en-têtes de bibliothèque standard. Le sous-ensemble requis est :
Sous-ensemble d’en-têtes standard
<atomic> (déclaration au moins atomic_signed_lock_free et atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(déclaration au moins abort, , atexitat_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>

Les en-têtes suivants sont déconseillés depuis C++11 : <ciso646>, <cstdalign>et <cstdbool>.

D’autres différences entre les implémentations libres et hébergées sont les suivantes :

  • Les implémentations hébergées nécessitent une fonction globale nommée main. Une implémentation autonome peut définir ses propres fonctions de démarrage et de terminaison.
  • Les implémentations hébergées doivent prendre en charge plusieurs threads en même temps. Les implémenteurs d’implémentations standard déterminent si leur bibliothèque prend en charge les threads simultanés.

La bibliothèque standard Microsoft C++ répond à la fois aux exigences standard standard et hébergées.

Les en-têtes de bibliothèque C++ ont deux subdivisions plus larges :

Cette section comprend les sections suivantes :

Pour plus d’informations sur les bibliothèques Runtime Visual C++, consultez Fonctionnalités de bibliothèque CRT.

Remarque

L’implémentation de microsoft de la bibliothèque standard C++ est souvent appelée bibliothèque de modèles STL ou Standard. Bien que C++ Standard Library soit le nom officiel de la bibliothèque tel que défini dans ISO 14882, en raison de l’utilisation populaire de « STL » et de « Bibliothèque de modèles standard » dans les moteurs de recherche, nous utilisons parfois ces noms pour faciliter la recherche de notre documentation. Du point de vue historique, « STL » a initialement fait référence à la bibliothèque de modèles standard écrite par Alexander Stepanov. Certaines parties de cette bibliothèque ont été normalisées dans la bibliothèque standard C++, ainsi que la bibliothèque runtime ISO C, les parties de la bibliothèque Boost et d’autres fonctionnalités. Parfois, « STL » est également utilisé pour faire référence aux conteneurs et aux algorithmes de la bibliothèque standard C++ adaptée à partir du STL de Stepanov. Dans cette documentation, la bibliothèque de modèles standard (STL) fait référence à la bibliothèque standard C++ dans son ensemble.

Voir aussi

Bibliothèque C++ standard