Traductions de cette page?:

Standard Template Library C++ (STL)

La bibliothèque de templates standard C++, généralement appelée STL (Standard Template Library) est un ensemble de classes génériques d'algorithmes. Elle permet aux programmeurs d'implémenter facilement des structures de données classiques telles que les liste, files ou piles.

Structures de données - conteneurs

La STL fournit les classes conteneurs suivants, groupés en trois catégories :

La STL a été crée dans le but de simplifier la mise en place de structures de données complexes, dans la mesure où toute l'infrastructure bas niveau est déjà terminée. Si un programmeur souhaite utiliser une pile d'entiers, voici ce qu'il lui suffit d'écrire :

  stack<int> myStack;

Il est immédiatement possible d'utiliser les méthodes push et pop pour insérer et supprimer des entiers de la pile myStack. Grâce aux templates C++, il est possible d'utiliser n'importe quel type, et pas uniquement des entiers. La classe Stack fournit les fonctionnalités générique d'une pile, quel que soit les données que l'on y insère.

Algorithmes

La STL fournit également bon nombre d'algorithmes génériques utiles, tels que binary_search, sort, et for_each, qui peuvent être utilisés sur la plupart des conteneurs et des structures de données.

Iterators

Les itérateurs permettent d'itérer facilement sur le contenu d'un conteneur STL.

Foncteurs

Le module <functional> fournit des méthodes d'aide à la création de classes foncteurs.

Mémoire

Le module <memory> fournit des structures permettant une gestion basique de la mémoire, comme auto_ptr.

Utilitaires

Il existe plusieurs méthodes utilitaires génériques comme make_pair dans le module <utility>.