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

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

Ближайший переключатель, который я нашел, был Свойства конфигурации -> C / C ++ -> Язык -> Отключить языковые расширения , но это не так.

10
задан James McNellis 23 August 2010 в 22:55
поделиться

1 ответ

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

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

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

13
ответ дан 3 December 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: