首页 > 解决方案 > 标准宏命名约定

问题描述

为什么尽管所有其他标准 C++ 宏都以双下划线为前缀和后缀,__cplusplus但没有遵循呢?

我到处找我能想到的都没有成功。

标签: c++

解决方案


据此,使用cfront(原始 C++ 编译器)c_plusplus代替__cplusplus.

使用的决定c_plusplus似乎是任意的(并且它忽略了“保留标识符”约定,如果它当时存在的话)。

我假设__cplusplus后来选择保留标识符,同时最小化与原始宏名称相比的差异。.


所有其他标准 C++ 宏都全部大写,并以双下划线为前缀和后缀

如评论中所述,并非所有人都是。近年来,委员会似乎更喜欢小写名称(在添加__has_include__cpp_*功能测试宏时)。


推荐阅读