Espacios de nombres
Variantes

Encabezados de la biblioteca estándar de C++

De cppreference.com
< cpp
 
 
Encabezados de la biblioteca estándar
 

La interfaz de la biblioteca estándar de C++ está definida por la siguiente colección de encabezados.

Encabezados multi-propósito

Utilidades de propósito general: control de programa, asignación de memoria dinámica, números aleatorios, ordenación y búsqueda [editar]
Políticas de ejecución predefinidas para versiones paralelas de algoritmos [editar]

Biblioteca de apoyo del lenguaje

Límites de tipos de coma flotante [editar]
Límites de tipos enteros [editar]
(C++20)
Apoyo para el operador de comparación de tres vías. [editar]
Biblioteca de apoyo para contratos [editar]
Biblioteca de apoyo de corrutinas [editar]
Macro (y función) que guarda (y salta a) un contexto de ejecución [editar]
Funciones y macros de constantes para control se señales [editar]
Manejo de listas de argumentos de longitud variable [editar]
Macros y definiciones de tipos typedefs estándar [editar]
(C++11)
Tipos enteros de tamaño fijo y límites de otros tipos [editar]
Utilidades de control de excepciones [editar]
Plantilla de clase std::initializer_list. [editar]
Manera estandarizada de consultar las propiedades de los tipos aritméticos [editar]
Utilidades de gestión de memoria de bajo nivel [editar]
Proporciona maneras de obtener ubicación de código fuente [editar]
Tipos de punto flotante extendidos opcionales [editar]
std::type_index [editar]
Utilidades de información de tipo en tiempo de ejecución [editar]
(C++20)
Proporciona información de la biblioteca dependiente de la implementación [editar]

Biblioteca de conceptos

Conceptos fundamentales de la biblioteca [editar]

Biblioteca de diagnóstico

Macro compilada condicionalmente que compara sus argumentos con cero [editar]
Macro que contiene el número del último error [editar]
Biblioteca de depuración [editar]
Biblioteca de seguimiento de pila [editar]
Objetos de excepción estándar [editar]
Define std::error_code, un código de error dependiente de la plataforma [editar]

Biblioteca de gestión de memoria

Utilidades de gestión de memoria de alto nivel [editar]
Asignadores de memoria polimórficos y recursos de memoria [editar]
Clase anidada de asignación de memoria [editar]

Biblioteca de metaprogramación

(C++26)
Biblioteca de apoyo de reflexión en tiempo de compilación [editar]
(C++11)
Aritmética racional en tiempo de compilación [editar]
Información de tipo en tiempo de compilación [editar]

Biblioteca de servicios generales

(C++17)
Clase std::any [editar]
(C++20)
Funciones de manipulación de bits [editar]
plantilla de clase std::bitset [editar]
Plantilla de clase std::expected [editar]
Objetos función, invocaciones de función, operaciones de vinculación y envoltorios de referencias [editar]
Plantilla de clase std::optional [editar]
(C++11)
Plantilla de clase std::tuple [editar]
Various Componentes de utilidad [editar]
(C++17)
Plantilla de clase std::variant [editar]

Biblioteca de contenedores

(C++11)
Contenedor std::array [editar]
Contenedor std::deque [editar]
Adaptadores de contenedor std::flat_map y std::flat_multimap [editar]
Adaptadores de contenedor std::flat_set y std::flat_multiset [editar]
Contenedor std::forward_list [editar]
(C++26)
Contenedor std::hive [editar]
Contenedor std::inplace_vector [editar]
Contenedor std::list [editar]
Contenedores asociativos std::map y std::multimap [editar]
(C++23)
Vista std::mdspan [editar]
Adaptadores de contenedor std::queue y std::priority_queue [editar]
Contenedores asociativos std::set y std::multiset [editar]
(C++20)
Vista std::span [editar]
Adaptador de contenedor std::stack [editar]
Contenedores asociativos no ordenados std::unordered_map y std::unordered_multimap [editar]
Contenedores asociativos no ordenados std::unordered_set y std::unordered_multiset [editar]
Contenedor std::vector [editar]

Biblioteca de iteradores

Iteradores de rango [editar]

Biblioteca de rangos

Plantilla de clase std::generator [editar]
(C++20)
Acceso, primitivas, requerimientos, utilidades y adaptadores para rangos [editar]

Biblioteca de algoritmos

Algoritmos que operan sobre rangos [editar]
Operaciones numéricas sobre valores en rangos [editar]

Biblioteca de cadenas

Varias funciones para manejo de cadenas de texto de caracteres estrechos [editar]
Plantilla de clase std::basic_string [editar]
Plantilla de clase std::basic_string_view [editar]

Biblioteca de procesamiento de texto

Funciones para determinar la categoría de caracteres estrechos [editar]
std::to_chars y std::from_chars [editar]
Utilidades de localización de C [editar]
(C++11)(en desuso en C++17)(eliminado en C++26)
Funciones de conversión Unicode [editar]
(C++11)
Funciones de conversión de caracteres Unicode estilo C [editar]
Varias funciones para manejo de cadenas anchas y multibyte [editar]
Funciones para determinar la categoría de caracteres anchos [editar]
(C++20)
Biblioteca de formato, incluyendo std::format [editar]
Utilidades de localización [editar]
(C++11)
Clases, algoritmos e iteradores de soporte de proceso de expresiones regulares [editar]
Identificaciones de codificación de texto [editar]

Biblioteca numérica

(C++11)
Funciones de acceso del entorno de coma flotante [editar]
Funciones matemáticas comunes [editar]
Tipo de número complejo [editar]
(C++26)
Algoritmos de algebra lineal básica [editar]
(C++20)
Constantes matemáticas [editar]
(C++11)
Generadores de números aleatorios y distribuciones [editar]
(C++26)
Tipos de paralelismo de datos y operaciones sobre estos tipos [editar]
Clase para representar y manipular arrays de valores [editar]

Biblioteca de tiempo

(C++11)
Servicios de tiempo de C++ [editar]
Utilidades de tiempo y fecha estilo C [editar]

Biblioteca de entrada/salida

Macros de formato, intmax_t y uintmax_t matemática y conversiones [editar]
Funciones de entrada/salida estilo C [editar]
clase std::path y funciones de soporte [editar]
Plantillas de clase std::basic_fstream, std::basic_ifstream, std::basic_ofstream y varias definiciones de tipo [editar]
Funciones de asistencia para controlar en formato de entrada/salida [editar]
Clase std::ios_base, plantilla de clase std::basic_ios y varias definiciones de tipo. [editar]
Declaraciones adelantadas de todas las clases en la biblioteca de entrada/salida. [editar]
Varios objetos de flujo estándar [editar]
Plantilla de clase std::basic_istream y varias definiciones de tipo. [editar]
Plantillas de clase std::basic_ostream, std::basic_iostream y varias definiciones de tipo. [editar]
(C++23)
Biblioteca de salida formateada, incluyendo std::print [editar]
Plantillas de clase std::basic_spanstream, std::basic_ispanstream y std::basic_ospanstream, y definiciones de tipos [editar]
Plantillas de clase std::basic_stringstream, std::basic_istringstream y std::basic_ostringstream, y varias definiciones de tipos [editar]
Plantilla de clase std::basic_streambuf. [editar]
(en desuso en C++98)
std::strstream, std::istrstream, std::ostrstream [editar]
std::basic_osyncstream, std::basic_syncbuf, y definiciones de tipos [editar]

Biblioteca de apoyo de concurrencia

(C++11)
Biblioteca a operaciones atómicas [editar]
(C++20)
Barreras [editar]
Condiciones de espera de hilos [editar]
(C++11)
Primitivas para cálculos asíncronos [editar]
Indicadores de peligro [editar]
(C++20)
Barrera de hilos de un solo uso [editar]
(C++11)
Primitivas de exclusión mutua [editar]
(C++26)
Mecanismos de actualización de lectura y copia [editar]
Semáforos [editar]
Primitivas de exclusión mutua compartidas [editar]
Símbolos de detención para std::jthread [editar]
(C++11)
Clase std::thread y funciones de soporte [editar]

Encabezados de compatibilidad con C

Para algunos de los encabezados de la biblioteca estándar de C de la forma xxx.h, la biblioteca estándar de C++ incluye tanto un encabezado con el mismo nombre como otro encabezado de la forma cxxx (todos los encabezados significativos cxxx se enumeran arriba). El uso previsto de los encabezados de la forma xxx.h es solo para interoperabilidad. Es posible que los archivos fuente de C++ necesiten incluir uno de estos encabezados para ser válidos según ISO C. Los archivos fuente que no están destinados a ser también válidos según ISO C no deben usar ninguno de los encabezados de C.

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

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

Notas: los encabezados xxx.h están en desuso en C++98 y se reactivaron en C++23. Estos encabezados no se recomiendan para código C++ puro, pero no están sujetos a eliminación futura.

(en desuso)
Se comporta igual que <cassert> [editar]
(en desuso)
Se comporta como si cada nombre de <cctype> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta igual que <cerrno> [editar]
(C++11)(en desuso)
Se comporta como si cada nombre en <cfenv> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta igual que <cfloat> [editar]
(C++11)(en desuso)
Se comporta como si cada nombre de <cinttypes> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta igual que <climits> [editar]
(en desuso)
Se comporta como si cada nombre de <clocale> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cmath> se colocara en espacio de nombres global,
excepto para los nombres de las funciones matemáticas especiales [editar]
(en desuso)
Se comporta como si cada nombre de <csetjmp> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <csignal> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cstdarg> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cstddef> se colocara en el espacio de nombres global,
excepto para los nombres de std::byte y funciones relacionadas [editar]
(C++11)(en desuso)
Se comporta como si cada nombre de <cstdint> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cstdio> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cstdlib> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cstring> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <ctime> se colocara en el espacio de nombres global [editar]
(C++11)(en desuso)
Se comporta como si cada nombre de <cuchar> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cwchar> se colocara en el espacio de nombres global [editar]
(en desuso)
Se comporta como si cada nombre de <cwctype> se colocara en el espacio de nombres global [editar]

Encabezados de compatibilidad especiales con C

Los encabezados <stdatomic.h>, <stdbit.h>, y <stdckdint.h> declaran nombres que también se proporcionan en la biblioteca estándar de C. El encabezado <stdatomic.h> también define la macro _Atomic, que es una palabra clave en C. A diferencia de otros encabezados <xxx.h>, no se proporcionan los correspondientes <cstdatomic>, <cstdbit>, y <cstdckdint>.

(C++23)(en desuso)
Define _Atomic y proporciona los componentes correspondientes en la biblioteca estándar de C [editar]
(C++26)(en desuso)
Proporciona los componentes correspondientes en la biblioteca estándar de C [editar]
(C++26)(en desuso)
Proporciona los componentes correspondientes en la biblioteca estándar de C [editar]

Encabezados de C vacíos

Los encabezados <complex.h>, <ccomplex>, <tgmath.h>, y <ctgmath> no contienen ningún contenido de la biblioteca estándar de C y, en su lugar, simplemente incluyen otros encabezados de la biblioteca estándar de C++.

(C++11)(en desuso en C++17)(eliminado en C++20)
Simplemente incluye la cabecera <complex> [editar]
(C++11)(en desuso)
Simplemente incluye la cabecera <complex> [editar]
(C++11)(en desuso en C++17)(eliminado en C++20)
Simplemente incluye las cabeceras <complex> y <cmath>: las sobrecargas equivalentes al contenido de la cabecera C tgmath.h ya están proporcionados por esas cabeceras [editar]
(C++11)(en desuso)
Simplemente incluye las cabeceras <complex> y <cmath> [editar]

Encabezados de C sin sentido

Los encabezados <ciso646>, <cstdalign>, y <cstdbool> no tienen sentido en C++ porque las macros que proporcionan en C son palabras clave del lenguaje en C++.

(eliminado en C++20)
Cabecera vacía. Las macros que aparecen en iso646.h en C son palabras clave en C++ [editar]
(C++11)(en desuso en C++17)(eliminado en C++20)
Define una macro constante de compatibilidad [editar]
(C++11)(en desuso en C++17)(eliminado en C++20)
Define una macro constante de compatibilidad [editar]
(en desuso)
No tiene efecto [editar]
(C++11)(en desuso)
Define una macro constante de compatibilidad [editar]
(C++11)(en desuso)
Define una macro constante de compatibilidad [editar]

Encabezados de C no compatibles

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

Bibliotecas experimentales

C++ TR's/TS's también definen varias colecciones de encabezados.

Véase también

Documentación de C para Encabezados de la biblioteca estándar de C