- C/C++中两个下划线开头的标识符可能是预留给运行时库的保留字。写代码的时候,就建议最好不要用下划线开头的标识符,避免冲突。最怕的是,编译器没提示错误,运行时产生奇怪的结果。
- 但对于Java/C#而言,大部分情况下,这条规则并不适用。它们有更好地封装,哪怕下划线开头的变量也被限定在包或者类内部,不会和它们的运行时冲突。
需要特别注意的是,微软为C#保留了几个关键字,如__arglist, 不确定未来会不会明确当做关键字。比较安全的做法是,尽量不以下划线开头做标识符。 - 在Python中,下划线开头的标识符有特别的含义,单下划线开头代表protected类型,双下划线开头代表private,还有一些特定的方法例如__init__是系统定义的名字。
- 仓颉对此无特别约束。
