Есть ли определение препроцессора, которое я мог бы использовать в #ifdef проверках, чтобы различать различные версии языка C ++?
#ifdef
Значение макроса __cplusplus должно служить этой цели.К сожалению, GCC (до 4.7) всегда устанавливает это значение на 1, что делает его непригодным для этой цели.
__cplusplus
1
(значения: 199711L для C ++ 98/03 и 201103L для C++ 11.)
199711L
201103L