为什么在 C++/Java 等中以美元符号开头的变量名不好?

Joh*_*nna 3 c++ java variables naming-conventions

为什么在 C++/Java 和类似 PHP 中以美元符号开头的变量名是不好的?

编辑:有任何风险吗?

Ste*_*n C 6

在 Java 中,$在变量中使用是合法的,但绝对是一个坏主意。

如果这样做,则存在意外使用的名称与编译器本身或某些代码生成器使用的名称冲突的风险。结果将是意外的编译或运行时故障,这些故障可能特别难以诊断......

还有一个潜在风险,您的(错误)使用$会在 Java 的未来版本中导致问题。Java 编译器/运行时的使用$将来可能会发生变化,从而导致您的滥用代码失败。

只是不要这样做。或者至少,除非您正在编写生成器,否则不要这样做……并且您知道自己在做什么


Ben*_*igt 5

在 C++ 中,它是不可移植的。标准规定的唯一字符(部分[lex.name])作为标识符的开头必须是大写和小写字母以及下划线。