预处理器#define检查语言版本?C++ 98/C++ 03/C++ 11

uli*_*tko 9 c++ c++11

是否有预处理器定义,我可以在#ifdef检查中使用它来辨别不同版本的C++语言?

Ker*_* SB 8

__cplusplus宏的价值应该用于此目的.不幸的是,GCC(在4.7之前)始终将此设置为1,使其无法用于此目的.

(这些值适用199711L于C++ 98/03和201103LC++ 11.)