在VC 2010中禁用C ++ 0x功能?

时间:2010-08-21 02:36:59

标签: c++ visual-studio-2010 c++11 visual-c++-2010 compiler-options

VC ++ 2010中的C ++ 0x模式是否有关闭开关?我正在开发一个应该在非0x编译器上编译的项目,因此我想针对当前标准进行编译。 (即使没有直接使用新功能,仍然存在微妙之处,使C ++ 0x更加谨慎)。

我找到的最接近的开关是Configuration Properties -> C/C++ -> Language -> Disable Language Extensions,但事实并非如此。

2 个答案:

答案 0 :(得分:13)

不,语言扩展通常是非标准的供应商特定添加。

C ++ 0X功能:没有直接关闭这些功能的方法。一种解决方法是不使用它们。但请注意,不同版本的VC运行时性能仍然存在显着差异。 VC10实现了移动语义,标准库(例如std::string)慷慨地使用了这些特性。

我认为合理的妥协是切换回VS2008。最近的VS版本已经出了名的错误(到目前为止,根据我的经验)并且从未按照他们应该没有Service Pack的方式工作。 VS2008现在相当稳定,没有任何C ++ 0x功能,应该适合您的账单。

答案 1 :(得分:3)

看来您可以在VS2010中使用vc2008工具集,请参阅:Visual C++ 2010 compatibility with VC 2008