【发布时间】:2021-07-11 07:18:08
【问题描述】:
最近看到这样的代码:
int $ = 123;
那么为什么 '$' 可以在 C 中的标识符中呢?
在 C++ 中也一样吗?
【问题讨论】:
-
它是许多编译器默认实现的 C 语言的扩展。如果您不想要它,则需要明确禁用它。对于 gcc 和 clang,它将是一个恰当命名的
-fno-dollars-in-identifiers命令行选项。 -
切题:VMS 操作系统非常喜欢到处都有美元符号——将引导设备称为 SYS$SYSDEVICE 之类的东西。我怀疑例如gcc 养成了允许 $ 以适应该环境的习惯。
-
@Jens:如果 C 实现允许在标识符中使用
$,这符合 C 标准,并且当程序在允许它的 C 实现中的标识符中使用$时,也符合C标准。
标签: c