Encabezados de la biblioteca estándar de C++
La interfaz de la biblioteca estándar de C++ está definida por la siguiente colección de encabezados.
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> |
(en desuso) |
Se comporta como si cada nombre de <cctype> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta igual que <cerrno> |
(C++11)(en desuso) |
Se comporta como si cada nombre en <cfenv> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta igual que <cfloat> |
(C++11)(en desuso) |
Se comporta como si cada nombre de <cinttypes> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta igual que <climits> |
(en desuso) |
Se comporta como si cada nombre de <clocale> se colocara en el espacio de nombres global |
(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 |
(en desuso) |
Se comporta como si cada nombre de <csetjmp> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <csignal> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <cstdarg> se colocara en el espacio de nombres global |
(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
|
(C++11)(en desuso) |
Se comporta como si cada nombre de <cstdint> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <cstdio> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <cstdlib> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <cstring> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <ctime> se colocara en el espacio de nombres global |
(C++11)(en desuso) |
Se comporta como si cada nombre de <cuchar> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <cwchar> se colocara en el espacio de nombres global |
(en desuso) |
Se comporta como si cada nombre de <cwctype> se colocara en el espacio de nombres global |
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
|
(C++26)(en desuso) |
Proporciona los componentes correspondientes en la biblioteca estándar de C |
(C++26)(en desuso) |
Proporciona los componentes correspondientes en la biblioteca estándar de C |
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> |
(C++11)(en desuso) |
Simplemente incluye la cabecera <complex> |
(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
|
(C++11)(en desuso) |
Simplemente incluye las cabeceras <complex> y <cmath> |
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++
|
(C++11)(en desuso en C++17)(eliminado en C++20) |
Define una macro constante de compatibilidad |
(C++11)(en desuso en C++17)(eliminado en C++20) |
Define una macro constante de compatibilidad |
(en desuso) |
No tiene efecto |
(C++11)(en desuso) |
Define una macro constante de compatibilidad |
(C++11)(en desuso) |
Define una macro constante de compatibilidad |
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
|