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