Bibliothèque standard C++ : aperçu complet et exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Bibliothèque standard C++ : aperçu complet



La bibliothèque standard C++ (C++ Standard Library) est un ensemble puissant de classes, fonctions, macros et modèles fourni avec tout compilateur C++. Elle propose des solutions prêtes à l'emploi pour la plupart des tâches courantes : de la gestion des conteneurs de données aux interactions réseau et au multithreading. Dans cet article, nous analyserons les principaux composants de la bibliothèque, montrerons des exemples de code et expliquerons comment utiliser efficacement ses fonctionnalités.



Composants principaux de la bibliothèque standard



La bibliothèque standard est divisée en plusieurs grandes sections :



  • STL (Standard Template Library) — conteneurs, itérateurs, algorithmes et objets fonctionnels.
  • Entrée/Sortie — flux (iostream), flux de fichiers (fstream), flux de chaînes (sstream).
  • Chaînes — classes std::string et std::string_view.
  • Opérations numériques — fonctions mathématiques (cmath), nombres aléatoires (random), nombres complexes (complex).
  • Multithreading — threads (thread), mutex, variables conditionnelles.
  • Utilitaires — std::optional, std::variant, std::any, pointeurs intelligents (shared_ptr, unique_ptr).


Conteneurs STL



Les conteneurs sont des classes template conçues pour stocker des collections d'objets. Ils sont divisés en conteneurs séquentiels et associatifs.



Conteneurs séquentiels



  • std::vector — tableau dynamique. Accès rapide par index, insertion lente au milieu.
  • std::deque — file d'attente bidirectionnelle. Insertion/suppression rapide aux deux extrémités.
  • std::list — liste doublement chaînée. Insertion/suppression rapide à n'importe quel endroit, mais accès lent par index.


#include <iostream>#include <vector>

int main() { std::vector<int> numbers = {10, 20, 30, 40}; numbers.push_back(50); // Ajout à la fin for (int n : numbers) { std::cout << n << " "; } return 0;}


Conteneurs associatifs



  • std::set — ensemble d'éléments uniques (trié).
  • std::map — dictionnaire « clé-valeur » (trié par clé).
  • std::unordered_set / std::unordered_map — tables de hachage (non triées, mais plus rapides).


#include <iostream>#include <map>

int main() { std::map<std::string, int> ages; ages["Alice"] = 30; ages["Bob"] = 25; for (const auto& [name, age] : ages) { std::cout << name << ": " << age << std::endl; } return 0;}


Algorithmes



La bibliothèque <algorithm> contient plus de 100 algorithmes pour travailler avec des séquences : tri, recherche, copie, transformation, etc. Tous les algorithmes fonctionnent via des itérateurs, ce qui les rend universels.



#include <iostream>#include <algorithm>#include <vector>

int main() { std::vector<int> v = {5, 2, 8, 1, 9}; std::sort(v.begin(), v.end()); // Tri par ordre croissant auto it = std::find(v.begin(), v.end(), 8); if (it != v.end()) { std::cout << "Trouvé : " << *it << std::endl; } return 0;}


Travail avec les chaînes



La classe std::string fournit des méthodes pratiques pour travailler avec le texte : recherche, remplacement, concaténation, comparaison. En C++17, std::string_view a été ajouté pour une visualisation non propriétaire des chaînes.



#include                    

Recommendations