- Biblioteca estándar de C++
-
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 ISO C90 biblioteca estándar de C. Las características de la biblioteca estándar están declaradas en el espacio de nombres (namespace) 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 terminan en ".h".
Contenido
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
ystd::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
ystd::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
ystd::runtime_error
, ambas derivadas destd::exception
. - <utility>
- Provee la clase plantilla
std::pair
, para trabajar con pares (tuplas de dos miembros) de objetos.
Strings
- <string>
- Provee las clases y plantillas estándares de C++ para trabajar con cadena de caracteres.
Flujos y Entrada/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
ydelete
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++.
- <cassert>
- <cctype>
- <cerrno>
- <cfloat>
- <climits>
- <cmath>
- <csetjmp>
- <csignal>
- <cstdlib>
- <cstddef>
- <cstdarg>
- <ctime>
- <cstdio>
- <cstring>
- <cwchar>
- <cwctype>
Enlaces externos
- Rogue Wave C++ Standard Library Class Reference
- Microsoft MSDN Library - Standard C++ Library Reference
- C++ Standard Library reference
- The GNU Standard C++ Library
- Apache C++ Standard Library
- STLport
- Dinkumware Standard C++ Library
Referencias
- Bjarne Stroustrup: The C++ Programming Language, Addison-Wesley, ISBN 0-201-70073-5
Wikimedia foundation. 2010.