Отключение функций С++ 0x в VC 2010?

Есть ли режим С++ 0x в VС++ 2010 с выключенным переключателем? Я работаю над проектом, который должен компилироваться на компиляторах, отличных от 0x, и поэтому я хочу скомпилировать их по сравнению с текущим стандартом. (Даже если не новые функции используются напрямую, все еще есть тонкости, которые делают С++ 0x более предпочтительным).

Самый близкий коммутатор, который я нашел, был Configuration Properties -> C/C++ -> Language -> Disable Language Extensions, но это не он.

Ответ 1

Нет, языковые расширения обычно являются нестандартными дополнениями для конкретного поставщика.

Функции С++ 0X: нет прямого способа отключить эти функции. Одно из них - не использовать их. Тем не менее, обратите внимание, что все еще будет заметная разница в производительности в версиях среды выполнения VC. VC10 реализует семантику перемещения, а стандартная библиотека (например, std::string) использует эти функции щедро.

Разумным компромиссом, на мой взгляд, является переход на VS2008. Недавние версии VS были заведомо ошибочными (до сих пор, по моему опыту) и никогда не работали так, как они должны, без пакета обновления. VS2008 довольно стабилен сейчас, без каких-либо из этих функций С++ 0x и должен соответствовать вашему счету.