c++标准库的宏__cplusplus

c++的设计目标之一是,对c++98向后兼容。

在c++98或c++03中可被编译的任何一样东西,也都应该能在c++11中正常编译。

如果你的代码里掺杂着c++各版本的身影,可以使用预定义好的宏_cplusplus.

对c++11而言,当编译一个c++转译单元时,以下定义有效:

#define __cplusplus 201103L

在c++98以及c++03中则是:
 

#define __cplusplus 201103L

有时候编译器厂商提供的值与上述不同

猜你喜欢

转载自blog.csdn.net/qq_27868061/article/details/113139802