Зараз я читаю проект специфікації C11. Нові введені ключові слова: _Bool, _Alignof, _Atomic
усі відчувають себе розширеними, а не стандартними зарезервованими ключовими словами struct, union, int
.
Я розумію, що стандарт в основному складається з стандартизованих розширень ... але все-таки це жахливо! Можливо, ми скоро закінчимось __Long_Long_Reallylong_Integer_MSVC_2020_t
повзанням у стандарті!
Чи є відстала сумісність нестандартного коду єдиною причиною нового стилю ключових слів?
<stdbool.h>
файл заголовка реалізації C11 повинен містити макрос попереднього процесу, наприклад #define bool _Bool
. Це акуратне рішення, оскільки воно зберігає зворотну сумісність, але дозволяє будь-якому новому коду, що включає новий файл заголовка, використовувати більш привабливий синтаксис.