La Bibliothèque de Templates Standard (STL) est l’un des composants les plus puissants de C++. Elle fournit une collection de classes templates pour gérer des structures de données et des algorithmes génériques, améliorant ainsi l’efficacité et la lisibilité du code.
Dans cet article, nous explorerons les éléments clés de la STL avec des exemples pratiques pour aider les programmeurs juniors à comprendre son utilisation et ses avantages.
L’utilisation de la STL offre plusieurs avantages :
La STL est divisée en trois composants principaux :
Les conteneurs STL sont classés en trois catégories :
Voyons quelques exemples.
std::vector
est un tableau dynamique qui s’agrandit automatiquement.
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.push_back(6);
for (int val : vec) {
std::cout << val << " ";
}
return 0;
}
std::list
est une liste doublement chaînée.
#include <iostream>
#include <list>
int main() {
std::list<int> lst = {10, 20, 30};
lst.push_front(5);
lst.push_back(40);
for (int val : lst) {
std::cout << val << " ";
}
return 0;
}
std::map
est un dictionnaire ordonné basé sur des arbres équilibrés.
#include <iostream>
#include <map>
int main() {
std::map<std::string, int> age;
age["Alice"] = 25;
age["Bob"] = 30;
for (const auto& p : age) {
std::cout << p.first << ": " << p.second << std::endl;
}
return 0;
}
La STL inclut de nombreux algorithmes permettant d’opérer sur les conteneurs.
std::sort
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nombres = {5, 2, 9, 1, 5, 6};
std::sort(nombres.begin(), nombres.end());
for (int n : nombres) {
std::cout << n << " ";
}
return 0;
}
std::find
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nombres = {1, 2, 3, 4, 5};
auto it = std::find(nombres.begin(), nombres.end(), 3);
if (it != nombres.end()) {
std::cout << "Élément trouvé: " << *it << std::endl;
} else {
std::cout << "Élément non trouvé" << std::endl;
}
return 0;
}
Les itérateurs permettent de parcourir les conteneurs de manière uniforme et efficace.
L’un des principaux avantages des itérateurs est leur efficacité par rapport aux indices traditionnels. Ils permettent d’itérer sur n’importe quel conteneur STL sans nécessiter la connaissance des détails internes de son implémentation.
#include <iostream>
#include <vector>
int main() {
std::vector<int> nombres = {10, 20, 30, 40};
std::vector<int>::iterator it;
for (it = nombres.begin(); it != nombres.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
La STL est un outil puissant qui simplifie la gestion des structures de données et des algorithmes en C++. Comprendre les conteneurs, les algorithmes et les itérateurs améliorera la qualité du code et la productivité du développement.
Un programmeur devrait apprendre à utiliser la STL pour :
Nous vous encourageons à expérimenter avec les exemples fournis et à explorer d’autres fonctionnalités de la STL pour améliorer votre maîtrise du C++ !
MerciGest est notre nouveau logiciel d'entrepôt entièrement gratuit. Continuer la lecture →
Lors de l'écriture d'un programme dans Access, l'une des choses les plus compliquées à implémenter…
Notre projet de créer une application dans Access pour la gestion d'entrepôt. Continuer la lecture…
Le smartphone peut être utilisé comme un lecteur de code à barres, voyons comment. Continuer…
Dans ce premier article de la série, nous verrons comment créer une application pour le…
Tous nos logiciels de gestion possèdent des archives dans Access, dans cet article, nous expliquerons…