La STL (Standard Template Library) en C++
Amine Abidi - Lead Software Engineer C++/Qt - Co-fondateur PointerLab
February 1, 2025

Introduction à la bibliothèque stand en C++ (STL)
La Standard Template Library (STL) est une collection puissante d'outils en C++ qui simplifient la manipulation des données. Elle regroupe trois éléments principaux :
- Les conteneurs : structures de données comme les vecteurs, listes et maps.
- Les algorithmes : fonctions pour trier, rechercher, ou transformer des données.
- Les itérateurs : outils pour parcourir les éléments d'un conteneur.
Cet article vous guidera à travers les bases de la STL, ses conteneurs courants, et ses algorithmes essentiels pour écrire un code plus propre, efficace et modulaire.
1. Les conteneurs courants dans la STL
Les conteneurs de la STL offrent une abstraction puissante pour stocker et manipuler des collections de données. Voici les principaux conteneurs :
1.1. std::vector
Un vecteur est un tableau dynamique qui peut changer de taille. Il est rapide pour les accès par indice, mais peut être coûteux lors des insertions/suppressions en milieu de tableau.
#include
#include
- using namespace std;
- int main() {
- vector nums = {1, 2, 3, 4};
- nums.push_back(5); // Ajoute un élément à la fin
- nums.pop_back(); // Supprime le dernier élément
- for (int num : nums) {
cout
#include
- using namespace std;
- int main() {
- array nums = {1, 2, 3, 4};
- for (int num : nums) {
cout
#include
- using namespace std;
- int main() {
- deque nums = {1, 2, 3};
- nums.push_front(0); // Ajoute un élément au début
- nums.push_back(4); // Ajoute un élément à la fin
- for (int num : nums) {
cout
#include
- using namespace std;
- int main() {
- list nums = {1, 2, 3};
- nums.push_back(4);
- nums.push_front(0);
- for (int num : nums) {
cout
#include
- using namespace std;
- int main() {
- set nums = {1, 2, 3, 2}; // Élimine les doublons
- for (int num : nums) {
cout
#include
#include
- using namespace std;
- int main() {
- vector nums = {4, 1, 3, 2};
- sort(nums.begin(), nums.end()); // Trie en ordre croissant
- for (int num : nums) {
cout
#include
#include
- using namespace std;
- int main() {
- vector nums = {1, 2, 3, 4};
- auto it = find(nums.begin(), nums.end(), 3);
- if (it != nums.end()) {
cout
#include
- using namespace std;
- int main() {
- vector nums = {1, 2, 3};
- for (vector::iterator it = nums.begin(); it != nums.end(); ++it) {
cout << *it << " ";
}
return 0;
}
4. Exercice pratique
Énoncé :
- Créez un
std::mappour stocker des paires nom-note. - Implémentez une fonction qui trie les notes par ordre décroissant en utilisant
std::sortet unstd::vector. - Affichez les résultats triés.
Conclusion
La STL est un élément incontournable du langage C++ pour manipuler efficacement les données. Grâce à ses conteneurs, algorithmes et itérateurs, elle permet d’écrire un code plus clair et modulaire.


