Je lis actuellement un projet de spécification C11. Les nouveaux mots clés introduits: _Bool, _Alignof, _Atomic
tous ressemblent à des extensions personnalisées, au lieu de mots clés réservés standard comme struct, union, int
.
Je me rends compte que la norme consiste essentiellement en extensions standardisées ... mais quand même, c'est affreux! Peut-être que nous finirons bientôt par __Long_Long_Reallylong_Integer_MSVC_2020_t
ramper dans la norme!
La compatibilité descendante du code non standard est-elle la seule raison du nouveau style des mots-clés?
<stdbool.h>
fichier d'en-tête d'implémentation C11 doit inclure une macro de préprocesseur telle que #define bool _Bool
. Il s'agit d'une solution intéressante car elle conserve la compatibilité descendante, mais permet à tout nouveau code, qui inclut le nouveau fichier d'en-tête, d'utiliser la syntaxe la plus attrayante.