重新定义 C++ 关键字合法吗?

2023-11-21

In 本文本周的大师说道:It is illegal to #define a reserved word.这是真的?我在规范中找不到任何东西,例如,我已经看到程序员重新定义了新的东西。


17.4.3.1.1 宏名称 [lib.macro.names]

1 如果翻译单元包含标头,则标头中定义为宏的每个名称都保留给实现以供任何使用。164)
2 包含标头的翻译单元不应包含任何定义该标头中声明或定义的名称的宏。这样的翻译单元也不应为与关键字词法相同的名称定义宏。

顺便一提,new是一个运算符,用户可以通过提供自己的版本来重载(替换)它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新定义 C++ 关键字合法吗? 的相关文章

随机推荐