Ir al contenido

Biblioteca estándar de C++

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 03:31 22 sep 2014 por DonBarredora (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

En C++, la biblioteca estándar es una colección de clases y funciones, escritas en el núcleo del lenguaje. La biblioteca estándar proporciona varios contenedores genéricos, funciones para utilizar y manipular esos contenedores, funciones objeto, cadenas y flujos genéricos (incluyendo E/S interactiva y de archivos) y soporte para la mayoría de las características del lenguaje. La biblioteca estándar de C++ también incorpora la biblioteca estándar de C. Las características de la biblioteca estándar están declaradas en el espacio de nombres std.

La Standard Template Library es un subconjunto de la biblioteca estándar de C++ que contiene los contenedores, algoritmos, iteradores, funciones objeto, etc; aunque algunas personas utilizan el término STL indistintamente con la biblioteca estándar de C++.

Los archivos de cabecera de la biblioteca estándar de C++ no usan la extensión «.h».

Cabeceras estándar

Los siguientes archivos contienen las declaraciones de la biblioteca estándar:

Contenedores

<bitset>
provee la clase contenedora especializada std::bitset, un arreglo de bits.
<deque>
provee la plantilla clase contenedora std::deque, una cola doblemente enlazada.
<list>
provee la plantilla clase contenedora std::list, una lista doblemente enlazada.
<map>
provee las plantillas clases contenedoras std::map y std::multimap, un arreglo asociativo y un arreglo asociativo múltiple respectivamente.
<queue>
provee la clase adaptadora contenedora std::queue, una cola de datos.
<set>
provee las plantillas clases contenedoras std::set y std::multiset, contenedores asociativos ordenados.
<stack>
provee la clase adaptadora contenedora std::stack, una pila de datos.
<vector>
provee la plantilla clase contenedora std::vector, un arreglo dinámico.

General

<algorithm>
provee la definición de muchos algoritmos.
<functional>
Provee varios objetos funcionales, diseñados para ser utilizados por los algoritmos estándares.
<iterator>
provee clases y plantillas para trabajar con iteradores.
<locale>
provee las clases y plantillas para trabajar con locales.
<memory>
provee facilidades para el manejo de memoria en C++, incluyendo la clase plantilla std::auto_ptr.
<stdexcept>
contiene las clases estándares de excepción así como std::logic_error y std::runtime_error, ambas derivadas de std::exception.
<utility>
Provee la clase plantilla std::pair, para trabajar con pares (tuplas de dos miembros) de objetos.

Cadenas de caracteres

<string>
provee las clases y plantillas estándares de C++ para trabajar con cadena de caracteres.

Flujos y entrada y salida

<fstream>
provee facilidades para la entrada y salida basada en archivos.
<ios>
provee varios tipos y funciones básicas para la operación de flujos de entrada y salida.
<iostream>
provee los elementos fundamentales para la entrada y salida en C++.
<iosfwd>
provee las declaraciones hacia adelante de varias clases plantillas de E/S.
<iomanip>
provee facilidades para manipular el formateo de salida, así como la base utilizada cuando se formatean enteros y los valores precisión o punto flotante.
<istream>
provee la clase plantilla std::istream y otras clases para la entrada de datos.
<ostream>
provee la clase plantilla std::ostream y otras clases para la salida de datos.
<sstream>
provee la clase plantilla std::sstream y otras clases para la manipulación de cadena de caracteres.
<streambuf>

Numéricas

<complex>
provee la clase plantilla std::complex y funciones asociadas al trabajo con números complejos.
<numeric>
provee algoritmos para el procesamiento numérico.
<valarray>
provee la clase plantilla std::valarray, una clase arreglo optimizada para el procesamiento numérico.

Soporte del Lenguaje

<exception>
provee varios tipos y funciones relacionadas al manejo de excepciones, incluyendo std::exception, la clase base para todas las excepciones arrojadas por la biblioteca estándar.
<limits>
Provee la clase plantilla std::numeric_limits, utilizada para describir las propiedades de los tipos numéricos fundamentales.
<new>
provee los operadores new y delete y otras funciones y tipos que componen los elementos fundamentales para el manejo de memoria en C++.
<typeinfo>
Provee las facilidades para trabajar con información de tipo en tiempo de ejecución en C++.

Biblioteca estándar de C

Cada cabecera de la biblioteca estándar de C está incluida en la biblioteca estándar de C++ con diferente nombre, generado eliminando la extensión .h y añadiendo una 'c' al inicio, por ejemplo 'time.h' se convierte en 'ctime'. La única diferencia entre estas cabeceras y las cabeceras tradicionales de la biblioteca estándar de C es que es posible que las funciones estén incluidas en el namespace 'std::' (aunque algunos compiladores lo hacen). En el ISO C, las funciones de la biblioteca estándar se pueden implementar por macros, cosa no permitida por el ISO C++.

Bibliografía

Enlaces externos