LIBRERIAS EN C++ Una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por el programador para realizar determinadas operaciones. Las declaraciones de las funciones (prototipos 4.4.1) utilizadas en estas librerías, junto con algunas macros y constantes predefinidas que facilitan su utilización, se agrupan en ficheros de nombres conocidos que suelen encontrarse en sitios predefinidos. Por ejemplo, en los sistemas UNIX, en /usr/include. Estos ficheros se suelen llamar " de cabecera ", porque es tradición utilizar las primeras líneas del programa para poner las directivas #include ,que los incluirá en el fuente durante la fase de reprocesado .
Clases de librerías Los compiladores C++ incluyen un amplio repertorio de clases, funciones y macros que permiten realizar una amplia variedad de tareas, incluyendo entradas/salidas de bajo y alto nivel; manipulación de cadenas alfanuméricas y ficheros; control de procesos (incluyendo multiproceso); manejo de memoria; cálculos matemáticos y un largo etcétera. Este repertorio de recursos es denominado colectivamente como "Rutinas de librería"; "Librerías de ejecución" RTL ("Runtime Librarys") o simplemente "Librerías". Puede decirse decirse que el lenguaje aislado (tal cual) no tiene prácticamente ninguna utilidad sin la concurrencia de estas utilidades. El Estándar C++ las clasifica según su utilidad: y
y
y
y
y
y
y
y
y
y
Soporte del lenguaje lenguaje [ 7] Diagnóstico Utilidades generales Cadenas alfanuméricas ("Strings") Localización Contenedores Iteradores Algoritmos Cálculo numérico Entrada/Salida
Librería Estándar C++ Para poner un poco de orden, el Estándar C++ define la denominada Librería Estándar [3] que debe acompañar a cada implementación del compilador que se adhiera al estándar. Es decir: la norma norma determina cuales son, como se llaman y como se utiliza este conjunto de algoritmos que deben acompañar (como mínimo) a cada implementación del compilador que quiera llamarse
"Estándar". La última versión, ISO/IEC 14882 del año 1998, especifica que se compone de 32 ficheros de cabecera de nombres fijos y conocidos agrupados según la funcionalidad de los algoritmos. Son los siguientes:
Ficheros
Funcionalidad/funciones
Parte de la STL que describe los algoritmos
Parte de la STL relativa a contenedores tipo bitset. Set de valores booleanos.
Parte de la librería numérica de la STL relativa a los.
Parte de la STL relativa a contenedores tipo deque ; un tipo de colas: "Double-ended-queue "Double-ended-queue"" .
Parte de la librería de diagnóstico relativa al manejo de excepciones
Flujos hacia/desde ficheros.
Parte de la STL relativa a Objetos Objetos -función
Manipuladores.
Supreclases para manejo de flujos de E/S.
Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estándar. Por ejemplo ostream.
Parte del a STL que contiene los algoritmos estándar de E/S.
Algoritmos estándar de flujos de entrada.
Parte de la STL relacionada con iteradores ,un tipo de puntero que permite utilizar los algoritmos de la Librería con las estructuras de datos representadas por los contenedores.
Descripción de propiedades dependientes de la implementación que afectan a los tipos fundamentales.
Parte de la STL relativa a contenedores tipo list; doblemente enlazadas
Parte de la STL relativa a la internacionalización