(双下划线)在C ++中如此之多

我正在浏览一些开源的C ++代码,并注意到代码中使用的分数下有很多double,主要是在变量名称的开头。

return __CYGWIN__;

只是想知道是否有这个原因,还是只是一些人的代码风格? 我会认为我很难阅读。


从C ++编程,规则和建议:

根据ANSI-C标准,在标识符中使用两个下划线(`__')被保留供编译器内部使用。

下划线(`_')通常用于库函数的名称(如“_main”和“_exit”)。 为避免冲突,请勿使用下划线开始标识符。


除非他们认为他们是“实施的一部分”,即标准库,否则他们不应该这样做。

规则相当具体,比其他人建议的更细致。

所有包含双下划线或以下划线开头并带有大写字母的标识符都将保留用于所有作用域的实现,即它们可用于宏。

此外,所有以下划线开始的其他标识符(即,后面紧跟着另一个下划线或大写字母)被保留用于全局范围的实现。 这意味着您可以在您自己的名称空间或类定义中使用这些标识符。

这就是为什么Microsoft使用带有前导下划线的函数名称和全部小写字母表示许多不属于C ++标准的核心运行时库函数。 这些函数名称保证不会与标准C ++函数或用户代码函数冲突。


根据C ++标准,以一个下划线开始的标识符为库保留。 以两个下划线开头的标识符保留给编译器供应商。

链接地址: http://www.djcxy.com/p/6879.html

上一篇: (double underscore) so much in C++

下一篇: pod deprecated in C++20?