¿Cuál es la diferencia entre STL y la Biblioteca Estándar de C++?
¡Hola, colegas! Soy un desarrollador principiante de C++ y constantemente me encuentro con los términos "STL" y "Biblioteca Estándar de C++". Parece que todos los usan como sinónimos, pero siento que no son exactamente lo mismo.
Por ejemplo, escribo este código:
```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;
}
```
Aquí uso `` y `` — esto es lo que solía llamar STL. Pero `` y `std::cout` también son parte de la biblioteca estándar. ¿Entonces resulta que STL es solo una parte de la biblioteca estándar? ¿O son cosas diferentes?
En internet hay un montón de debates: unos dicen que STL ha muerto, otros que es la base de C++. Necesito una comprensión clara: ¿qué se considera exactamente STL y qué es la Biblioteca Estándar? ¿Y por qué surgió esta confusión? Agradecería una respuesta detallada.