Espacios de nombres
Variantes
Acciones

Achivos de encabezado de la biblioteca estándar de C++

De cppreference.com
< cpp
 
 
 

La interfaz de la biblioteca estándar de C++ se define por la siguiente colección de archivos de encabezado.

Contenido

Biblioteca de conceptos

<concepts> (desde C++20) Conceptos fundamentales de la biblioteca

Biblioteca de corrutinas

<coroutine> (desde C++20) Biblioteca de soporte de corrutinas

Biblioteca de utilerías

<cstdlib> Utilerías de propósito general: control de programa, asignación de memoria dinámica, números aleatorios, ordenación y búsqueda
<csignal> Funciones y macros de constante para control de señales
<csetjmp> Macro (y función) que guarda (y salta) a un contexto de ejecución
<cstdarg> Manejo de listas de argumentos de longitud variable
<typeinfo> Utilerías de información de tipo en tiempo de ejecución
<typeindex> (desde C++11) std::type_index
<type_traits> (desde C++11) Información de tipo en tiempo de compilación
<bitset> Plantilla de clase std::bitset
<functional> Objetos función, invocaciones de función, operaciones de vinculación y envoltorios de referencias
<utility> Varios componentes de utilerías
<ctime> Utilerías de tiempo y fecha estilo C
<chrono> (desde C++11) Utilerías de tiempo de C++
<cstddef> Macros y definiciones de tipo (typedef) estándar
<initializer_list> (desde C++11) Plantilla de clase std::initializer_list
<tuple> (desde C++11) Plantilla de clase std::tuple
<any> (desde C++17) Clase std::any
<optional> (desde C++17) Plantilla de clase std::optional
<variant> (desde C++17) Plantilla de clase std::variant
<compare> (desde C++20) Soporte del operador de comparación de tres vías
<version> (desde C++20) Proporciona información de la biblioteca dependiente de la implementación
<source_location> (desde C++20) Proporciona maneras de obtener ubicación de código fuente
Gestión de memoria dinámica
<new> Utilerías de gestión de memoria de bajo nivel
<memory> Utilerías de gestión de memoria de más alto nivel
<scoped_allocator> (desde C++11) Clase anidada de asignación de memoria
<memory_resource> (desde C++17) Asignadores de memoria polimórficos y recursos de memoria
Límites numéricos
<climits> Límites de tipos enteros
<cfloat> Límites de tipos de punto flotante
<cstdint> (desde C++11) Tipos de tamaño fijo y límites de otros tipos
<cinttypes> (desde C++11) Macros de formato, intmax_t y uintmax_t matemáticas y conversiones
<limits> Manera estandarizada de consultar las propiedades de los tipos aritméticos
Control de errores
<exception> Utilerías de control de excepciones
<stdexcept> Objetos de excepción estándar
<cassert> Macro compilada condicionalmente que compara sus argumentos con cero
<system_error> (desde C++11) Define a std::error_code, un código de error dependiente de la plataforma
<cerrno> Macro que contiene el número del último error

Biblioteca de cadenas

<cctype> Funciones para determinar el tipo contenido en datos de caracteres
<cwctype> Funciones para determinar el tipo contenido en datos de caracteres anchos
<cstring> Varias funciones para manejo de cadenas de caracteres estrechos
<cwchar> Varias funciones para manejo de cadenas anchas y multibyte
<cuchar> (desde C++11) Funciones de conversión de caracteres Unicode
<string> Plantilla de clase std::basic_string
<string_view> (desde C++17) Plantilla de clase std::basic_string_view
<charconv> (desde C++17) std::to_chars y std::from_chars
<format> (desde C++20) Biblioteca de formato, incluyendo std::format

Biblioteca de contenedores

<array> (desde C++11) Contenedor std::array
<vector> Contenedor std::vector
<deque> Contenedor std::deque
<list> Contenedor std::list
<forward_list> (desde C++11) Contenedor std::forward_list
<set> Contenedores asociativos std::set y std::multiset
<map> Contenedores asociativos std::map y std::multimap
<unordered_set> (desde C++11) Contenedores asociativos no ordenados std::unordered_set y std::unordered_multiset
<unordered_map> (desde C++11) Contenedores asociativos no ordenados std::unordered_map y std::unordered_multimap
<stack> Adaptador de contenedor std::stack
<queue> Adaptadores de contenedor std::queue y std::priority_queue
<span> (desde C++20) Vista std::span

Biblioteca de iteradores

<iterator> Iteradores de rangos

Biblioteca de rangos

<ranges> (desde C++20) Acceso a rangos, primitivas, requerimientos, utilerías y adaptadores

Biblioteca de algoritmos

<algorithm> Algoritmos que operan sobre rangos
<execution> (desde C++17) Políticas de ejecución predefinidas para versiones paralelas de los algoritmos

Biblioteca númerica

<cmath> Funciones matemáticas comunes
<complex> Tipo de número complejo
<valarray> Clase para representar y manipular arrays de valores
<random> (desde C++11) Generadores de números aleatorios y distribuciones
<numeric> Operaciones numéricas sobre valores en contenedores
<ratio> (desde C++11) Aritmética racional en tiempo de compilación
<cfenv> (desde C++11) Funciones de acceso del entorno de punto flotante
<bit> (desde C++20) Funciones de manipulación de bits
<numbers> (desde C++20) Constantes matemáticas

Biblioteca de entrada/salida

<iosfwd> Declaraciones adelantadas de todas las clases en la biblioteca de entrada/salida
<ios> Clase std::ios_base, plantilla de clase std::basic_ios y varias definiciones de tipos
<istream> Plantilla de clase std::basic_istream y varias definiciones de tipos
<ostream> Plantillas de clase std::basic_ostream, std::basic_iostream y varias definiciones de tipos
<iostream> Varios objetos de flujo estándar
<fstream> Plantillas de clase std::basic_fstream, std::basic_ifstream, std::basic_ofstream y varias definiciones de tipos
<sstream> Plantillas de clase std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream y varias definiciones de tipos
<syncstream> (desde C++20) std::basic_osyncstream, std::basic_syncbuf, y definiciones de tipos
<strstream> (en desuso en C++98) std::strstream, std::istrstream, std::ostrstream
<iomanip> Funciones asistentes para controlar el formato de entrada/salida
<streambuf> Plantilla de clase std::basic_streambuf
<cstdio> Funciones de entrada/salida estilo C

Biblioteca de localización

<locale> Utilerías de localización
<clocale> Utilerías de localización de C
<codecvt> (desde C++11)(en desuso en C++17) Facilidades de conversión Unicode

Biblioteca de expresiones regulares

<regex> (desde C++11) Clases, algoritmos e iteradores para soportar procesamiento de expresiones regulares

Biblioteca de operaciones atómicas

<atomic> (desde C++11) Biblioteca de operaciones atómicas

Biblioteca de soporte de hilos/subprocesos

<thread> (desde C++11) Clase std::thread y funciones de soporte
<stop_token> (desde C++20) Símbolos de detención para std::jthread
<mutex> (desde C++11) Primitivas de exclusión mutua
<shared_mutex> (desde C++14) Primitivas de exclusión mutua compartidas
<future> (desde C++11) Primitivas para cálculos asíncronos
<condition_variable> (desde C++11) Condiciones de espera de hilos
<semaphore> (desde C++20) Semáforos
<latch> (desde C++20) Barrera de hilos de un solo uso
<barrier> (desde C++20) Barreras

Biblioteca de sistema de archivos

<filesystem> (desde C++17) Clase std::path y funciones de soporte

[editar] Archivos de encabezado de compatibilidad con C

Para algunos de los archivos de encabezado de biblioteca estándar de C de la forma xxx.h, la biblioteca estándar de C++ incluye un archivo de encabezado con un nombre idéntico y otro archivos de encabezado de la forma cxxx (todos los archivos de encabezado significativos cxxx se enumeran arriba).

Con la excepción de complex.h , cada archivo de encabezado xxx.h incluido en la biblioteca estándar de C++ coloca en el espacio de nombres global cada nombre que el archivo de encabezado xxx.h correspondiente hubiera colocado en el espacio de nombres std.

Estos archivos de encabezado también pueden declarar los mismos nombres en el espacio de nombres global std, y los archivos de encabezado cxxx correspondientes también pueden declarar los mismos nombres en el espacio de nombres global: incluir <cstdlib> definitivamente proporciona a std::malloc y también puede proporcionar a ::malloc. Incluir <stdlib.h> definitivamente proporciona a ::malloc y también puede proporcionar a std::malloc. Esto se aplica incluso a funciones y sobrecargas de funciones que no forman parte de la biblioteca estándar de C.

<assert.h> (en desuso) Se comporta como si cada nombre de <cassert> se hubiera colocado en el espacio de nombres global
<ctype.h> (en desuso) Se comporta como si cada nombre de <cctype> se hubiera colocado en el espacio de nombres global
<errno.h> (en desuso) Se comporta como si cada nombre de <cerrno> se hubiera colocado en el espacio de nombres global
<fenv.h> (en desuso) Se comporta como si cada nombre de <cfenv> se hubiera colocado en el espacio de nombres global
<float.h> (en desuso) Se comporta como si cada nombre de <cfloat> se hubiera colocado en el espacio de nombres global
<inttypes.h> (en desuso) Se comporta como si cada nombre de <cinttypes> se hubiera colocado en el espacio de nombres global
<limits.h> (en desuso) Se comporta como si cada nombre de <climits> se hubiera colocado en el espacio de nombres global
<locale.h> (en desuso) Se comporta como si cada nombre de <clocale> se hubiera colocado en el espacio de nombres global
<math.h> (en desuso) Se comporta como si cada nombre de <cmath> se hubiera colocado en el espacio de nombres global
excepto por los nombres de las funciones matemáticas especiales
<setjmp.h> (en desuso) Se comporta como si cada nombre de <csetjmp> se hubiera colocado en el espacio de nombres global
<signal.h> (en desuso) Se comporta como si cada nombre de <csignal> se hubiera colocado en el espacio de nombres global
<stdarg.h> (en desuso) Se comporta como si cada nombre de <cstdarg> se hubiera colocado en el espacio de nombres global
<stddef.h> (en desuso) Se comporta como si cada nombre de <cstddef> se hubiera colocado en el espacio de nombres global
excepto por los nombres de std::byte y funciones relacionadas
<stdint.h> (en desuso) Se comporta como si cada nombre de <cstdint> se hubiera colocado en el espacio de nombres global
<stdio.h> (en desuso) Se comporta como si cada nombre de <cstdio> se hubiera colocado en el espacio de nombres global
<stdlib.h> (en desuso) Se comporta como si cada nombre de <cstdlib> se hubiera colocado en el espacio de nombres global
<string.h> (en desuso) Se comporta como si cada nombre de <cstring> se hubiera colocado en el espacio de nombres global
<time.h> (en desuso) Se comporta como si cada nombre de <ctime> se hubiera colocado en el espacio de nombres global
<uchar.h> (en desuso) Se comporta como si cada nombre de <cuchar> se hubiera colocado en el espacio de nombres global
<wchar.h> (en desuso) Se comporta como si cada nombre de <cwchar> se hubiera colocado en el espacio de nombres global
<wctype.h> (en desuso) Se comporta como si cada nombre de <cwctype> se hubiera colocado en el espacio de nombres global

[editar] Archivos de encabezados de C vacíos

Los archivos de encabezado <complex.h>, <ccomplex>, <tgmath.h>, y <ctgmath> no tienen contenido de la biblioteca estándar de C y en su lugar solamente incluyen otros archivos de encabezado de la biblioteca estándar de C++. El uso de todos estos archivos de encabezado está en desuso en C++.

<ccomplex> (desde C++11)(en desuso en C++17)(eliminado en C++20) Simplemente incluye en archivo de encabezado <complex>
<complex.h> (en desuso) Simplemente incluye en archivo de encabezado <complex>
<ctgmath> (desde C++11)(en desuso en C++17)(eliminado en C++20) Simplemente incluye los archivos de encabezado <complex> y <cmath>: las sobrecargas equivalentes del contenido del archivo de encabezado de C tgmath.h ya se proporciona por esos archivos de encabezado
<tgmath.h> (en desuso) Simplemente incluye los archivos de encabezado <complex> y <cmath>

[editar] Archivos de encabezado de C sin significado

Los archivos de encabezado <ciso646>, <cstdalign>, y <cstdbool> no tienen significado en C++ porque las macros que proporcionan en C son palabras clave en C++.

<ciso646> (eliminado en C++20) Archivo de encabezado vacío. Las macros que aparecen en iso646.h en C son palabras clave en C++
<iso646.h> (en desuso) No tiene efecto
<cstdalign> (desde C++11)(en desuso en C++17)(eliminado en C++20) Define una macro de constante de compatibilidad
<stdalign.h> (en desuso) Define una macro de constante de compatibilidad
<cstdbool> (desde C++11)(en desuso en C++17)(eliminado en C++20) Define una macro de constante de compatibilidad
<stdbool.h> (en desuso) Define una macro de constante de compatibilidad

[editar] Archivos de encabezado de C no soportados

Los archivos de encabezado de C <stdatomic.h>, <stdnoreturn.h>, y <threads.h> no se incluyen en C++ y no tienen equivalentes cxxx.

[editar] Bibliotecas experimentales

Las especificaciones técnicas de C++ también definen varias colecciones de archivos de encabezado.

[editar] Véase también

Documentación de C de Archivos de encabezado de la biblioteca estándar de C