Я не знаю ни о каком стандартном макросе препроцессора, но:
- Visual Studio представила поддержку в VC2010, чья внутренняя версия 1600, поэтому вы можете проверить с помощью
_MSC_VER >= 1600
- GCC поддерживает rvalue ссылки начиная с версии 4.3 , поэтому вы можете проверить эту версию вместе с
__GXX_EXPERIMENTAL_CXX0X__
- Clang определяет
__has_feature
макросов для выполнения именно того, что вам нужно: __has_feature(cxx_rvalue_references)
Так что для большинства распространенных компиляторов должно быть довольно легко собрать что-нибудь вместе.
Я также почти уверен, что в Boost есть макрос для этой цели, который вы можете использовать, если ваш проект включает в себя Boost (в противном случае вы можете посмотреть на их реализацию)