C++ Standard Library headers
La interfaz de la biblioteca estándar de C++ está definida por la siguiente colección de encabezados.
Encabezados de compatibilidad con C
Para algunas de las cabeceras de la biblioteca estándar de C con el formato
xxx
.h
, la biblioteca estándar de C++ incluye tanto una cabecera con el mismo nombre como otra cabecera con el formato
c
xxx
(todas las cabeceras significativas
c
xxx
están listadas arriba). El uso previsto de las cabeceras con formato
xxx
.h
es solo para interoperabilidad. Es posible que los archivos fuente de C++ necesiten incluir una de estas cabeceras 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 ninguna de las cabeceras de C.
Con la excepción de
complex.h
, cada cabecera
xxx
.h
incluida en la biblioteca estándar de C++ coloca en el espacio de nombres global cada nombre que la correspondiente cabecera
c
xxx
habría colocado en el espacio de nombres
std
.
Estos encabezados pueden declarar también los mismos nombres en el
std
namespace, y los correspondientes
c
xxx
encabezados pueden declarar también los mismos nombres en el espacio de nombres global: incluir
<cstdlib>
definitivamente proporciona
std::malloc
y puede también proporcionar
::
malloc
. Incluir
<stdlib.h>
definitivamente proporciona
::
malloc
y puede también proporcionar
std::malloc
. Esto aplica incluso a funciones y sobrecargas de funciones que no forman parte de la biblioteca estándar de C.
Notas:
xxx
.h
los headers están obsoletos en C++98 y rehabilitados en C++23. Estos headers están desaconsejados para código C++ puro, pero no están sujetos a eliminación futura.
| Se comporta igual que <cassert> | |
| Se comporta como si cada nombre de <cctype> se colocara en el espacio de nombres global | |
| Se comporta igual que <cerrno> | |
|
(C++11)
|
Se comporta como si cada nombre de <cfenv> se colocara en el espacio de nombres global |
| Se comporta igual que <cfloat> | |
|
(C++11)
|
Se comporta como si cada nombre de <cinttypes> se colocara en el espacio de nombres global |
| Se comporta igual que <climits> | |
| Se comporta como si cada nombre de <clocale> se colocara en el espacio de nombres global | |
|
Se comporta como si cada nombre de
<cmath>
se colocara en el espacio de nombres global,
excepto los nombres de funciones matemáticas especiales |
|
| Se comporta como si cada nombre de <csetjmp> se colocara en el espacio de nombres global | |
| Se comporta como si cada nombre de <csignal> se colocara en el espacio de nombres global | |
| Se comporta como si cada nombre de <cstdarg> se colocara en el espacio de nombres global | |
|
Se comporta como si cada nombre de
<cstddef>
se colocara en el espacio de nombres global,
excepto los nombres de
std::byte
y funciones relacionadas
|
|
|
(C++11)
|
Se comporta como si cada nombre de <cstdint> se colocara en el espacio de nombres global |
| Se comporta como si cada nombre de <cstdio> se colocara en el espacio de nombres global | |
| Se comporta como si cada nombre de <cstdlib> se colocara en el espacio de nombres global | |
| Se comporta como si cada nombre de <cstring> se colocara en el espacio de nombres global | |
| Se comporta como si cada nombre de <ctime> se colocara en el espacio de nombres global | |
|
(C++11)
|
Se comporta como si cada nombre de <cuchar> se colocara en el espacio de nombres global |
| Se comporta como si cada nombre de <cwchar> se colocara en el espacio de nombres global | |
| Se comporta como si cada nombre de <cwctype> se colocara en el espacio de nombres global |
Encabezados especiales de compatibilidad 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)
|
Define
_Atomic
y proporciona los componentes correspondientes en la biblioteca estándar de C
|
|
(C++26)
|
Proporciona los componentes correspondientes en la biblioteca estándar de C |
|
(C++26)
|
Proporciona los componentes correspondientes en la biblioteca estándar de C |
Encabezados 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 simplemente incluyen otros encabezados de la biblioteca estándar de C++.
|
(C++11)
(deprecated in C++17)
(removed in C++20)
|
Simplemente incluye el encabezado <complex> |
|
(C++11)
|
Simplemente incluye el encabezado <complex> |
|
(C++11)
(deprecated in C++17)
(removed in C++20)
|
Simplemente incluye los encabezados <complex> y <cmath> : las sobrecargas equivalentes al contenido del encabezado C <tgmath.h> ya están proporcionadas por esos encabezados |
|
(C++11)
|
Simplemente incluye los encabezados <complex> y <cmath> |
Encabezados C sin sentido
Los encabezados <ciso646> , <cstdalign> , y <cstdbool> carecen de significado 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)
(obsoleto en C++17)
(eliminado en C++20)
|
Define
constantes de macro de compatibilidad
__alignas_is_defined
y
__alignof_is_defined
|
|
(C++11)
(obsoleto en C++17)
(eliminado en C++20)
|
Define una
constante de macro de compatibilidad
__bool_true_false_are_defined
|
| No tiene efecto | |
|
(C++11)
|
Define
constantes de macro de compatibilidad
__alignas_is_defined
y
__alignof_is_defined
|
|
(C++11)
|
Define una
constante de macro de compatibilidad
__bool_true_false_are_defined
|
Encabezados C no compatibles
Los encabezados de C
<stdatomic.h>
,
(hasta C++23)
<stdnoreturn.h>
, y
<threads.h>
no están incluidos en C++ y no tienen equivalentes
c
xxx
.
Bibliotecas experimentales
TR's/TS's de C++ también definen varias colecciones de headers.
Véase también
|
Documentación de C
para
encabezados de la Biblioteca Estándar
|