Attualmente sto leggendo una bozza della specifica C11. Le nuove parole chiave introdotte: _Bool, _Alignof, _Atomic
tutte sembrano estensioni personalizzate, invece di parole chiave standard riservate come struct, union, int
.
Mi rendo conto che lo standard consiste essenzialmente in estensioni standardizzate ... ma comunque, è terribile! Forse finiremo presto per __Long_Long_Reallylong_Integer_MSVC_2020_t
insinuarsi nello standard!
La retrocompatibilità del codice non standard è l'unica ragione del nuovo stile delle parole chiave?
<stdbool.h>
file di intestazione dell'implementazione C11 deve includere una macro del preprocessore come #define bool _Bool
. Questa è una soluzione accurata poiché mantiene la compatibilità con le versioni precedenti, ma consente a qualsiasi nuovo codice, che include il nuovo file di intestazione, di utilizzare la sintassi più interessante.