在C / C ++

时间:2018-10-31 00:09:18

标签: c++ c variable-names

将变量名定义为__00000001,__ 00000002等有什么好处吗?

示例:

int __00000001, __00000002 = 0;
for (__00000001 = 0; __00000001 < 10; __00000001++) {
    __00000002 = __00000002 + __00000001;
}
...

更新:这是几年前在我的一门编程课中提到的,我记得这位教授说使用它有一些优点。但是,我无法回忆起更多信息。也许我错了。

2 个答案:

答案 0 :(得分:5)

这些特定的变量名称不适用于用户程序:

  

所有以下划线开头,大写字母或其他下划线开头的标识符始终保留供任何使用。 (C11,第7.1.3节,第1款)

所以这是一个很大的缺点。

答案 1 :(得分:4)

混淆代码中的废话值得吗?不,不是这样,除非您的目标确实是这样做:使您的代码尽可能难以阅读。麻烦的是,您也必须阅读它。

有时,当有人“反编译”程序时,您会遇到这样的代码-变量名无法在编译过程中保留下来,因此,这是重构C ++程序时反编译器可以做的最好的事情。当然,它不能真正重建C ++程序;它只能以C ++语法重新拼合扁平化逻辑。哦,很好。

专门针对您的示例,值得注意的是,以两个下划线开头的 all 标识符保留给实现(您的编译器和标准库),因此https://github.com/react-community/create-react-native-app/issues/144#issuecomment-296631692