Saat ini saya sedang membaca konsep spesifikasi C11. Kata kunci baru yang diperkenalkan: _Bool, _Alignof, _Atomic
semua terasa seperti ekstensi khusus, bukan kata kunci yang dicadangkan seperti standar struct, union, int
.
Saya menyadari bahwa standar pada dasarnya terdiri dari ekstensi standar ... tapi tetap saja, ini mengerikan! Mungkin kita akan segera berakhir dengan __Long_Long_Reallylong_Integer_MSVC_2020_t
merayap dalam standar!
Apakah kompatibilitas kode non-standar merupakan satu-satunya alasan gaya kata kunci yang baru?
<stdbool.h>
file header implementasi C11 harus menyertakan makro preprosesor seperti #define bool _Bool
. Ini adalah solusi yang rapi karena mempertahankan kompatibilitas ke belakang, tetapi memungkinkan kode baru apa pun, termasuk file header baru, untuk menggunakan sintaksis yang lebih menarik.