Препроцессор #define для проверки языковой версии? C ++ 98 / C ++ 03 / C ++ 11 - PullRequest
9 голосов
/ 16 декабря 2011

Есть ли определение препроцессора, которое я мог бы использовать в #ifdef проверках, чтобы различать различные версии языка C ++?

1 Ответ

8 голосов
/ 16 декабря 2011

Значение макроса __cplusplus должно служить этой цели.К сожалению, GCC (до 4.7) всегда устанавливает это значение на 1, что делает его непригодным для этой цели.

(значения: 199711L для C ++ 98/03 и 201103L для C++ 11.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...