Bibliothèque standard du C++

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

La bibliothèque standard du C++ (C++ Standard Library en anglais) est une bibliothèque de classes et de fonctions standardisées pour le langage C++. Elle fournit des outils (généralement sous la forme de patrons) tels que :

  • un type pour manipuler efficacement les chaînes de caractères ;
  • des types pour la manipulation de flux (fichiers, entrée et sortie standard…) ;
  • des conteneurs qui facilitent la manipulation de plusieurs objets de même type (avec par exemple des fonctions d'insertion ou de retrait d'éléments) ;
  • une collection d'algorithmes de bas niveau comme le tri.

La bibliothèque standard du C++ contient aussi la bibliothèque standard du C.

Cette bibliothèque est le résultat de l'évolution de plusieurs bibliothèques, parfois développées indépendamment par plusieurs fournisseurs d'environnements C++, qui ont été fusionnées et normalisées afin de garantir la portabilité des programmes qui les utilisent. Une des principales briques de cette bibliothèque est sans aucun doute la STL (abréviation de « Standard Template Library »), à tel point qu'il y a souvent confusion entre les deux.

L'ensemble de la bibliothèque est spécifiée dans la norme ISO qui définit également le langage : ISO/IEC 14882. Elle est incluse en totalité dans l'espace de noms std (standard). Il est donc nécessaire pour l'utiliser de placer l'injonction :

using namespace std;

en début de programme, ou le préfixe :

std::

à chaque appel d'objet, classe ou fonction de celle-ci.

En-têtes[modifier | modifier le code]

Les fichiers suivants contiennent les déclarations de la bibliothèque standard du C++.

Conteneurs[modifier | modifier le code]

<array>
Nouveau en C++11. Fournit une classe patron std::array représentant un tableau de taille fixe.
<bitset>
Fournit une classe conteneur spécialisée std::bitset représentant un tableau de bits.
<deque>
Fournit une classe patron std::deque, une file sur laquelle on peut retirer et ajouter des éléments sur les deux extrémités.
<forward_list>
Nouveau en C++11. Fournit une classe patron std::forward_list représentant une liste chaînée.
<list>
Fournit une classe patron std::list représentant une liste doublement chaînée.
<map>
Fournit les classes patrons std::map et std::mutlimap représentant un tableau associatif et une multimap.
<queue>
Fournit une classe patron std::queue, une file, et std::priority_queue.
<set>
Fournit les classes patron std::set et std::multiset, représentant des ensembles.
<stack>
Fournit la classe patron std::stack, représentant une pile.
<unordered_map>
Nouveau en C++11. Fournit la classe patron std::unordered_map et std::unordered_multimap représentant un tableau associatif et une multimap.
<unordered_set>
Nouveau en C++11. Fournit la classe patron std::unordered_set et std::unordered_multiset.
<vector>
Fournit la classe patron std::vector, un tableau dynamique.

Bibliothèque standard du C[modifier | modifier le code]

Article détaillé : Bibliothèque standard du C.

Chaque fichier d’en-tête de la bibliothèque standard du C est inclus dans la bibliothèque standard du C++ sous un nom différent, obtenu en retirant le suffixe '.h' et en ajoutant un 'c' au début ; par exemple, 'time.h' devient 'ctime' en C++. L’unique différence entre ces en-têtes et les en-têtes originaux de la bibliothèque standard du C est que les fonctions sont normalement placées dans l’espace de nom std:: dans les en-têtes C++. Contrairement à la norme ISO C++, la norme ISO C autorise les fonctions de la bibliothèque standard à être implémentées avec des macros.

Bibliographie[modifier | modifier le code]

Lien externe[modifier | modifier le code]