jueves, 17 de mayo de 2012

LIBRERíAS DE C++

¿Qué son y para qué sirven?

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.
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.
         Ficheros          Funcionalidad/funciones

  • <algorithm>        Parte de la STL que describe los algoritmos
  • <bitset>          Parte de la STL relativa a contenedores tipo bitset. 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".

  • <exception> Parte de la librería de diagnóstico relativa al manejo de excepciones
  • <fstream>  Flujos hacia/desde ficheros.
  • <functional> Parte de la STL relativa a Objetos-función
  • <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 de la STL relativa al Almacenamiento de flujos de E/S ("Stream buffers").  Define los tipos que controlan la capa de transporte ( 5.3.2f).

  • <string>        Parte de la STL relativa a contenedores tipo string ( );  una generalización de las cadenas alfanuméricas para albergar cadenas de objetos.

  • <typeinfo> Mecanismo de identificación de tipos en tiempo de ejecución ( 4.9.14).
  • <utility>         Parte de la STL que contiene elementos auxiliares como operadores y pares (pairs).
  • <valarray> Parte de la librería numérica de la STL relativa a manejo de matrices numéricas ()
  • <vector>         Parte de la STL relativa a los contenedores tipo vector; una generalización de las matrices unidimensionales C/C++ ( 5.1.1c1)