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

10

VC++ 2010中的C++0x模式是否有关闭开关?我正在处理一个需要在非0x编译器上编译的项目,因此我想根据当前标准进行编译。(即使没有直接使用新功能,C++0x仍然比较宽松,还存在微妙之处)。

我找到的最接近的开关是配置属性 -> C/C++ -> 语言 -> 禁用语言扩展,但那不是它。

2个回答

13

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

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

在我看来,一个合理的折中办法是切换回VS2008。最近的VS版本一直以来都很容易出错(以我的经验),并且从未正常工作过,除非安装了服务包。VS2008现在非常稳定,没有那些C++0x功能,应该适合您的需求。


5
您也可以在项目设置中将VS2010 IDE切换回使用VS2008编译器。 - Andy

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接