Namespaces
Variants

C23

From cppreference.net
< c

ISO/IEC 9899:2024 , también conocido como C23 , es la revisión actual del estándar C.

C23 actualiza la macro predefinida __STDC_VERSION__ a 202311L .

Contenidos

Nuevas características del lenguaje

Macros de prueba de características para funcionalidades opcionales

Nuevas características de la biblioteca

Nuevos encabezados

Características de la biblioteca

Características obsoletas

Características eliminadas

Características obsoletas

Informes de defectos

Informes de Defectos corregidos en C23 (? defectos)

Soporte del compilador

Características principales del lenguaje C23

**Nota:** En este fragmento HTML, no hay texto visible para traducir fuera de las etiquetas ` `. El único texto visible es "noreturn" (dentro de ` `) y "N2764" (dentro de un enlace), que son términos técnicos de C++ y referencias de documentos que no deben traducirse según las instrucciones proporcionadas. **Nota:** En este fragmento HTML, el único texto que requiere traducción es el título del enlace `title="c/preprocessor/embed"`, que se ha mantenido sin cambios ya que contiene términos específicos de C++ que no deben traducirse según las instrucciones. El resto del contenido son etiquetas HTML, números y códigos que deben preservarse en su formato original. **Nota:** En este fragmento HTML, el único texto que podría ser traducido es el título del enlace `"c/language/nullptr"`, pero como se trata de una ruta/URL y términos técnicos de C++, se ha mantenido sin cambios según las instrucciones. Los números y códigos como "N3042" también se conservan.
Característica de C23

Documento(s)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
static_assert sin mensaje N2265 9 9 6.5 2021.1.2 (clang based)
[[ nodiscard ]] N2267 10 9 6.4 2021.1.2 (clang based)
[[ maybe_unused ]] N2270 10 9 6.4 2021.1.2 (clang based)
[[ deprecated ]] N2334 10 9 6.4 2021.1.2 (clang based)
Atributos N2335
N2554
10 9 6.4 2021.1.2 (clang based)
Tipos de coma flotante decimal IEEE 754 N2341 4.2 (parcial)*
12
13.0 (parcial)*
[[ fallthrough ]] N2408 10 9 6.4 2021.1.2 (clang based)
u8 constantes de carácter N2418 10 15 6.5 2022.2
Eliminación de function definitions sin prototipo N2432 10 15 2022.2
[[ nodiscard ]] con mensaje N2448 11 10 6.4 2021.1.2 (clang based)
Parámetros sin nombre en definiciones de funciones N2480 11 11 6.4 2021.1.2 (clang based)
Etiquetas antes de declaraciones y final de bloques N2508 11 16 Parcial* 6.5 17.0 *
Constantes enteras binarias N2549 4.3 *
11
2.9 *
9
19.0 (2015)* * 6.5 11.0 *
__has_c_attribute en condicionales del preprocesador N2553 11 9 6.5 2021.1.2 (clang based)
Permitir atributos duplicados N2557 11 13 6.5 2021.4 (basado en clang
Tipos de intercambio y extendidos IEEE 754 N2601 7 (parcial)*
14
6 (parcial)* Parcial*
Separadores de dígitos N2626 12 13 19.0 (2015)* * 6.5 18.0 *
#elifdef y #elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
Cambio de tipo de u8 literales de cadena N2653 13
[[ maybe_unused ]] para etiquetas N2662 11 16 6.5 2022.2
#warning N2686 6.5
Tipos enteros de precisión de bits ( _BitInt ) N2763 14 (parcial)* 15 6.5 2022.2
[[ noreturn ]] N2764 13 15 6.5 2022.2
Sufijos para constantes enteras de precisión de bits N2775 14 15 2022.2
__has_include en condicionales del preprocesador N2799 5 19.11* 6.5 18.0
Sintaxis de Identificadores usando el Anexo 31 del Estándar Unicode N2836 13 15 6.5 2022.2
Eliminación de declaraciones de función sin prototipo N2841 13 15 2022.2
Inicializadores vacíos N2900 Parcial*
13
Parcial* Parcial* Parcial* Parcial*
typeof y typeof_unqual N2927
N2930
Parcial*
13
Parcial*
16
19.39* Parcial* Parcial* Parcial* Parcial*
Nueva ortografía de palabras clave N2934 13 16 6.5
Predefinidos true y false N2935 13 15 2022.2
[[ unsequenced ]] y [[ reproducible ]] N2956 15
Relajar requisitos para lista de parámetros variádicos N2975 13 16 6.5 2023.1
Inferencia de tipos en definiciones de objetos N3007 13 18
#embed N3017 15 19
constexpr objetos N3018 13 19
Enumeraciones Normales Mejoradas N3029 13 20 *
Enumeraciones con tipos subyacentes fijos N3030 13 20 *
__VA_OPT__ N3033 8
13
12 19.39* 6.5
Especificadores de clase de almacenamiento para literales compuestos N3038 13
nullptr N3042 13 16


Característica de C23


Documento(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray

Características de la biblioteca C23