gpt4 book ai didi

c++ - 为什么 C++ 语言设计者不断重复使用关键字?

转载 作者:IT老高 更新时间:2023-10-28 13:20:31 24 4
gpt4 key购买 nike

支持重复使用短关键字(并添加与上下文相关的含义)而不是仅仅添加更多关键字的主要论点是什么?

您只是想避免破坏可能已经在使用提议的新关键字的现有代码,还是有更深层次的原因?

C++11 中的新“枚举类”让我想到了这一点,但这是一个通用的语言设计问题。

最佳答案

Is it just that you want to avoid breaking existing code that may already be using a proposed new keyword, or is there a deeper reason?

不,就是这个原因。

根据定义,关键字总是在源中出现的任何地方都被视为关键字,因此它们不能用于其他目的。将某事设为关键字会破坏任何可能将该标记用作变量、函数或类型名称的代码。

C 委员会采用不同的方法并使用 _Reserved 名称添加新关键字,例如_Atomic , _Bool ,然后他们添加了一个带有更好宏的新标题(<stdatomic.h><stdbool.h>),以便您可以选择是否包含标题以获得名称 atomicbool ,但它不会自动声明,也不会破坏恰好已经使用这些名称的代码。

C++ 委员会不喜欢宏并希望它们成为正确的关键字,因此要么重新使用现有的(例如 auto ),要么添加与上下文相关的“关键字”(它们不是真正的关键字,而是“具有特殊含义的标识符”,因此它们可以用于其他事物,例如 override )或使用不太可能与用户代码冲突的奇怪拼写(例如 decltype 而不是广泛使用的支持 typeof 扩展)。

关于c++ - 为什么 C++ 语言设计者不断重复使用关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32757571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com