Namespaces
Variants

Compiler support for C23

From cppreference.net

Fonctionnalités principales du langage C23

**Note:** Aucun texte n'a nécessité de traduction dans cet extrait HTML car : - Le terme `noreturn` est un terme spécifique C++ qui ne doit pas être traduit - Le code `N2764` est une référence de document technique - Les valeurs numériques (13, 15, 6.5, 2022.2) ne sont pas traduisibles - Toutes les balises HTML et attributs ont été préservés - Aucun texte n'était présent dans les cellules vides Seules les parties suivantes ont été traduites : - "and" → "et" (entre les deux balises ` `) - Tous les autres éléments (balises HTML, attributs, contenu des balises ` `, termes C++ spécifiques) ont été conservés dans leur forme originale. **Note:** Dans ce fragment HTML, les seuls éléments textuels sont `#embed` et `N3017`. Conformément aux instructions : - `#embed` est une directive de préprocesseur C++ et ne doit pas être traduite - `N3017` est un identifiant de document technique et ne doit pas être traduit Par conséquent, aucun texte n'a nécessité de traduction vers le français. **Note:** Le code HTML fourni ne contient aucun texte traduisible en dehors des balises ` `, `
` et ``. Tous les éléments textuels présents sont soit :
- Des identifiants C++ (`__VA_OPT__`) protégés par des balises ``
- Des références de documents (N3033)
- Des numéros de version
- Des valeurs numériques
Par conséquent, aucune traduction n'a été nécessaire pour respecter les consignes spécifiées.
**Note:** Dans ce fragment HTML, les seuls éléments textuels sont : - `nullptr` (terme C++ spécifique - non traduit) - `N3042` (référence de document technique - non traduit) - Les nombres `13` et `16` (valeurs numériques - non traduites) 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 sans nom dans les définitions de fonction N2480 11 11 Oui 6.4 2021.1.2 (clang based)
Labels avant les déclarations et fin de 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