Имеет ли режим C ++ 0x в VC ++ 2010 выключатель? Я работаю над проектом, который должен компилироваться на не 0x компиляторах, и поэтому я хочу компилировать в соответствии с текущим стандартом (Даже если ни одна из новых функций не используется напрямую, все еще есть тонкости, которые делают C ++ 0x более привлекательным).
Ближайший переключатель, который я нашел, был Свойства конфигурации -> C / C ++ -> Язык -> Отключить языковые расширения
, но это не так.
Нет, языковые расширения обычно являются нестандартными дополнениями, специфичными для производителя.
Возможности C ++ 0X: Нет прямого способа отключить эти функции. Одно из решений - не использовать их. Однако обратите внимание, что по-прежнему будет заметная разница в производительности между версиями среды выполнения VC. VC10 реализует семантику перемещения, а стандартная библиотека (например, std :: string
) широко использует эти функции.
На мой взгляд, разумным компромиссом является возврат к VS2008. Последние версии VS были заведомо содержат ошибки (до сих пор, по моему опыту) и никогда не работали должным образом без пакета обновления. VS2008 теперь довольно стабилен, без каких-либо функций C ++ 0x и должен соответствовать вашим требованиям.