9
是否有预处理器定义,我可以在#ifdef
检查中使用以辨别C++语言的不同版本?预定义#define检查语言版本吗? C++ 98/C++ 03/C++ 11
是否有预处理器定义,我可以在#ifdef
检查中使用以辨别C++语言的不同版本?预定义#define检查语言版本吗? C++ 98/C++ 03/C++ 11
该__cplusplus
宏的值应该用于此目的。不幸的是,GCC(4.7之前)始终将其设置为1
,使其无法用于此目的。
(的值是C++ 11 199711L
为C++ 98/03,和201103L
)
还存在宏设定不一致的问题。对于支持C++ 11部分的编译器,值应该是多少? :/ – Xeo 2011-12-16 15:45:33