VC ++ 2010中的C ++ 0x模式是否有关闭开关?我正在开发一个应该在非0x编译器上编译的项目,因此我想针对当前标准进行编译。 (即使没有直接使用新功能,仍然存在微妙之处,使C ++ 0x更加谨慎)。
我找到的最接近的开关是Configuration Properties -> C/C++ -> Language -> Disable Language Extensions
,但事实并非如此。
答案 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