ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Librería Estándar


Enviado por   •  23 de Marzo de 2015  •  3.745 Palabras (15 Páginas)  •  230 Visitas

Página 1 de 15

5 Librería Estándar

§1 Sinopsis

C++ no llega al nivel de simplicidad de su antecesor C, pero al igual que aquél, tampoco dispone de utilidades o funciones para entrada o salida implementadas en el propio lenguaje, de modo que estas y otras muchas, como manejo de cadenas de caracteres (strings), manejo de ficheros, funciones matemáticas Etc. son implementadas en forma de librerías externas.

Una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por el programador para realizar determinadas operaciones ( 1.4.4a). 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 ( 4.9.10g) que los incluirá en el fuente durante la fase de preprocesado ( 1.4).

§2 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 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:

Soporte del lenguaje [7]

Diagnóstico

Utilidades generales

Cadenas alfanuméricas ("Strings")

Localización

Contenedores

Iteradores

Algoritmos

Cálculo numérico

Entrada/Salida

§2.1 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 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

<algorithm> Parte de la STL que describe los algoritmos ( 5.1.3)

<bitset> Parte de la STL relativa a contenedores tipo bitset ( 5.1.1e1). Set de valores booleanos.

<complex> Parte de la librería numérica de la STL relativa a los complejos ( ).

<deque> Parte de la STL relativa a contenedores tipo deque; un tipo de colas: "Double-ended-queue" ( 5.1.1c3).

<exception> Parte de la librería de diagnóstico relativa al manejo de excepciones ( 1.6)

<fstream> Flujos hacia/desde ficheros.

<functional> Parte de la STL relativa a Objetos-función ( 4.9.18f)

<iomanip> Manipuladores.

<ios> Supreclases para manejo de flujos de E/S.

<iosfwd> Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estándar. Por ejemplo ostream.

<iostream> Parte del a STL que contiene los algoritmos estándar de E/S.

<istream> Algoritmos estándar de flujos de entrada.

<iterator> Parte de la STL relacionada con iteradores ( 5.1.2), un tipo de puntero que permite utilizar los algoritmos de la Librería con las estructuras de datos representadas por los contenedores.

<limits> Descripción de propiedades dependientes de la implementación ( 1.2.1) que afectan a los tipos fundamentales.

<list> Parte de la STL relativa a contenedores tipo list ( 5.1.1c4); listas doblemente enlazadas ( 1.8)

<locale> Parte de la STL relativa a la internacionalización ( 5.2).

<map> Parte de la STL relativa a contenedores tipo map ( 5.1.1e4).

<memory> Utilidades relativas a la gestión de memoria, incluyendo asignadores ( 5.1.5) y punteros inteligentes (auto_ptr).

<new> Manejo de memoria dinámica ( 1.3.2)

<numeric> Parte de la librería numérica de la STL relativa a operaciones numéricas ( ).

<ostream> Algoritmos estándar para los flujos de salida.

<queue> Parte de la STL relativa a contenedores tipo queue ( 5.1.1d1); colas de objetos ( 1.8).

<set> Parte de la STL relativa a contenedores tipo set ( 5.1.1e2).

<sstream> Flujos hacia/desde cadenas alfanuméricas.

<stack> Parte de la STL relativa a contenedores tipo stack ( 5.1.1c5); pilas de objetos ( 1.8).

<stdexcept> Parte de la STL relativa a las clases de las que derivan los objetos lanzados por las excepciones ocasionadas en los algoritmos de la propia STL y otras expresiones. Estas clases son utilizadas para reportar errores detectados durante runtime. Los usuarios también pueden utilizar excepciones para reportar errores en sus propios programas ( 1.6.1a).

<streambuf> Parte

...

Descargar como (para miembros actualizados)  txt (25.3 Kb)  
Leer 14 páginas más »
Disponible sólo en Clubensayos.com