Quelle est la différence entre STL et la bibliothèque standard C++ ?
Bonjour, collègues ! Je suis un développeur C++ débutant et je rencontre constamment les termes "STL" et "bibliothèque standard C++". Apparemment, tout le monde les utilise comme synonymes, mais je sens que ce n'est pas tout à fait la même chose.
Par exemple, j'écris ce code :
```cpp
#include
#include
#include
int main() {
std::vector numbers = {3, 1, 4, 1, 5, 9};
std::sort(numbers.begin(), numbers.end());
for (int n : numbers) {
std::cout << n << " ";
}
return 0;
}
```
Ici, j'utilise `` et `` — j'ai l'habitude d'appeler ça STL. Mais `` et `std::cout` font aussi partie de la bibliothèque standard. Donc, STL n'est qu'une partie de la bibliothèque standard ? Ou ce sont des choses différentes ?
Sur Internet, il y a des tonnes de débats : certains disent que STL est morte, d'autres que c'est le fondement du C++. J'ai besoin d'une compréhension claire : qu'est-ce qui est exactement considéré comme STL, et qu'est-ce qui est la bibliothèque standard ? Et pourquoi cette confusion existe-t-elle ? Je serais reconnaissant pour une réponse détaillée.