Переопределение ключевых слов в C / C ++

Могу ли я переопределить ключевые слова с помощью #define в C?

Я нашел это в стандартах C ++:

ISO / IEC 14882: 1998 и ISO / IEC 14882: 2003

17.4.3.1.1 Имена макросов [lib.macro.names]

2 Единица перевода, которая включает заголовок, не должна содержать никаких макросов, которые определяют имена, объявленные или определенные в этом заголовке. Также такой модуль перевода не должен определять макросы для имен, лексически идентичных ключевым словам.

164) Недопустимо удалять определение макроса библиотеки с помощью директивы #undef.

ISO / IEC 14882: 2011

17.6.4.3.1 Имена макросов [macro.names]

2 Единица перевода не должна содержать имена #define или #undef, лексически идентичные ключевым словам, идентификаторам, перечисленным в таблице 3, или токенам атрибутов, описанным в 7.6.

Так что мы можем'• переопределить ключевые слова в C ++ 98 / C ++ 03, если мы включим любые заголовочные файлы из стандартной библиотеки C ++, а в C ++ 11 мы можем:не делай это в любом переводчике, верно?

Ответы на вопрос(3)

Ваш ответ на вопрос