Я не знаю ни одного стандартного макроса препроцессора, но:
- Visual Studio появилась поддержка в VC2010, чья внутренняя версия 1600, так что вы можно проверить с
_MSC_VER >= 1600
- GCC поддерживает RValue ссылки, так как version 4.3, так что вы можете проверить эту версию вместе с
__GXX_EXPERIMENTAL_CXX0X__
- Clang определяет
__has_feature
macros Fo r, что вам нужно: __has_feature(cxx_rvalue_references)
Итак, для большинства распространенных компиляторов должно быть достаточно легко совместить что-то вместе самостоятельно.
Я также уверен, что подталкивания имеет макрос для этой цели, которую вы можете быть в состоянии использовать, если ваш проект включает в себя подталкивание (иначе вы могли бы посмотреть на их реализацию)
Большое спасибо :) – fredoverflow
Должен признаться, что мне очень нравится, как Кланг решил рекламировать свои различные функции и расширения, он намного яснее, чем проверка номера версии и многое другое. –