Standard Template Library
La Standard Template Library (STL) es una biblioteca de software para el lenguaje de programación C++ que ha influido en varias partes de la biblioteca estándar de C++. Esta provee de cuatro componentes denominados algoritmos, contenedores, iteradores y funciones.[1]
La STL proporciona un conjunto prefabricado de las clases comunes de C++, tales como contenedores y arrays asociativos, que se pueden utilizar con cualquier tipo incorporado y con cualquier tipo definido por el usuario que admita algunas operaciones elementales (como la copia y la asignación). Los algoritmos STL son independientes de los contenedores, lo que reduce significativamente la complejidad de la librería.
La STL logra sus resultados mediante el uso de plantillas. Este enfoque proporciona polimorfismo en tiempo de compilación que a menudo es más eficiente que el tradicional polimorfismo en tiempo de ejecución. Los compiladores C++ modernos están perfeccionados para minimizar cualquier penalización de abstracción derivada de un uso intensivo de la STL.
La STL se creó como la primera biblioteca de algoritmos genéricos y estructuras de datos para C++, con cuatro ideas en mente: programación genérica, abstracción sin pérdida de eficiencia, la arquitectura de Von Neuman,[2] y la semántica de valor.
Referencias
editar- ↑ Holzner, Steven (2001). C++ : Black Book. Scottsdale, Ariz.: Coriolis Group. p. 648. ISBN 1-57610-777-9. «The STL is made up of containers, iterators, function objects, and algorithms».
- ↑ Musser, David (2001). STL tutorial and reference guide: C++ programming with the standard template library. Addison Wesley. ISBN 0-201-37923-6.
Enlaces externos
editar- C/C++ STL reference, incluye las características de C++ 11
- STL guía del programador, guía de SGI
- Apache (formalmente Rogue Wave) C++ Standard Library referencias de clases
- Apache (formalmente Rogue Wave) C++ Standard Library guía del usuario
- Bjarne Stroustrup en The emergence of the STL (La aparición de STL) (página 5, sección 3.1)