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 , , 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> |
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 :
iostreams, conventions.
Conventions de référence de la bibliothèque C++ Standard (STL).
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour