Namespaces
Variants

C23

From cppreference.net
< c

ISO/IEC 9899:2024 , également appelé C23 , est la révision actuelle de la norme C.

C23 augmente la macro prédéfinie __STDC_VERSION__ à 202311L .

Table des matières

Nouvelles fonctionnalités du langage

Macros de test de fonctionnalités pour les fonctionnalités optionnelles

Nouvelles fonctionnalités de la bibliothèque

Nouveaux en-têtes

Fonctionnalités de la bibliothèque

Fonctionnalités obsolètes

Fonctionnalités supprimées

Fonctionnalités dépréciées

Rapports de défauts

Rapports de défauts corrigés dans C23 (? défauts)

Support du compilateur

Fonctionnalités principales du langage C23

**Note:** Aucun texte traduit n'a été trouvé dans ce fragment HTML. Le contenu se compose principalement de : - Balises HTML et attributs (conservés intacts) - Termes techniques C++ (`noreturn` - non traduit comme demandé) - Références de documents standards (`N2764`) - Valeurs numériques dans les cellules du tableau Si d'autres parties de la page contiennent du texte à traduire, veuillez les fournir. **Note:** Dans ce fragment HTML, le seul texte à traduire était le titre de l'attribut `title="c/preprocessor/embed"`. Cependant, comme il s'agit d'un chemin technique et non d'un texte descriptif, et conformément aux consignes de ne pas traduire les termes spécifiques au C++, je l'ai laissé en anglais. Aucun autre texte ne nécessitait une traduction dans cet extrait. Note: Dans ce fragment HTML, les seuls éléments textuels sont "nullptr" (terme C++ spécifique qui ne doit pas être traduit) et "N3042" (référence de document technique qui ne doit pas être traduite). Aucune traduction n'était donc nécessaire conformément aux instructions.
Fonctionnalité C23

Document(s)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
static_assert sans message N2265 9 9 Oui Oui 6.5 2021.1.2 (clang based)
[[ nodiscard ]] N2267 10 9 Oui 6.4 2021.1.2 (clang based)
[[ maybe_unused ]] N2270 10 9 Oui 6.4 2021.1.2 (clang based)
[[ deprecated ]] N2334 10 9 Oui 6.4 2021.1.2 (clang based)
Attributs N2335
N2554
10 9 Oui 6.4 2021.1.2 (clang based)
Types de virgule flottante décimale IEEE 754 N2341 4.2 (partiel)*
12
13.0 (partiel)*
[[ fallthrough ]] N2408 10 9 Oui 6.4 2021.1.2 (clang based)
u8 constantes de caractère N2418 10 15 6.5 2022.2
Suppression des définitions de fonction sans prototype N2432 10 15 2022.2
[[ nodiscard ]] avec message N2448 11 10 Oui 6.4 2021.1.2 (clang based)
Paramètres non nommés dans les définitions de fonction N2480 11 11 Oui 6.4 2021.1.2 (clang based)
Étiquettes avant les déclarations et fin des blocs N2508 11 16 Partiel* 6.5 17.0 *
Constantes entières binaires N2549 4.3 *
11
2.9 *
9
19.0 (2015)* * Oui 6.5 11.0 *
__has_c_attribute dans les conditionnelles du préprocesseur N2553 11 9 Oui 6.5 2021.1.2 (clang based)
Autoriser les attributs en double N2557 11 13 Oui 6.5 2021.4 (clang-based
Types d'échange et étendus IEEE 754 N2601 7 (partiel)*
14
6 (partiel)* Partiel*
Séparateurs de chiffres N2626 12 13 19.0 (2015)* * Oui 6.5 18.0 *
#elifdef et #elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
Changement de type des u8 littéraux de chaîne N2653 13
[[ maybe_unused ]] pour les étiquettes N2662 11 16 6.5 2022.2
#warning N2686 Oui Oui Oui 6.5 Oui
Types entiers à précision de bits ( _BitInt ) N2763 14 (partiel)* 15 6.5 2022.2
[[ noreturn ]] N2764 13 15 6.5 2022.2
Suffixes pour les constantes entières à précision de bits N2775 14 15 2022.2
__has_include dans les conditionnelles du préprocesseur N2799 5 Oui 19.11* Oui 6.5 18.0
Syntaxe des identifiants utilisant la norme Unicode Annexe 31 N2836 13 15 6.5 2022.2
Suppression des déclarations de fonction sans prototype N2841 13 15 2022.2
Initialiseurs vides N2900 Partiel*
13
Partiel* Partiel* Partiel* Partiel*
typeof et typeof_unqual N2927
N2930
Partiel*
13
Partiel*
16
19.39* Partiel* Partiel* Partiel* Partiel*
Nouvelle orthographe des mots-clés N2934 13 16 6.5
Prédéfinis true et false N2935 13 15 2022.2
[[ unsequenced ]] et [[ reproducible ]] N2956 15
Assouplir les exigences pour la liste de paramètres variadiques N2975 13 16 6.5 2023.1
Inférence de type dans les définitions d'objets N3007 13 18
#embed N3017 15 19
constexpr objets N3018 13 19
Énumérations Normales Améliorées N3029 13 20 *
Énumérations avec types sous-jacents fixes N3030 13 20 *
__VA_OPT__ N3033 8
13
12 19.39* 6.5
Spécificateurs de classe de stockage pour les littéraux composés N3038 13
nullptr N3042 13 16


Fonctionnalité C23


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

Fonctionnalités de la bibliothèque C23