编译器支持即将推出的C ++ 0x

时间:2009-06-11 11:24:19

标签: c++ c++11

是否有一个编译器能够很好地支持新的C ++ 0x?

我使用的是GCC,但遗憾的是当前版本4.4对新功能的支持不足。

9 个答案:

答案 0 :(得分:28)

Apache Standard C ++ Library项目维护a wiki page of major compilers' C++0x support

以下是供应商页面的链接,描述了他们的C ++ 0x支持:

答案 1 :(得分:6)

我担心gcc可能是你在这个阶段最好的。

这里有一系列功能和支持的编译器:

http://wiki.apache.org/stdcxx/C++0xCompilerSupport

答案 2 :(得分:4)

唯一具有概念实现的编译器是conceptgcc(即使这是不完整的 - 但它足以让人对该功能有一个良好的感觉。)
Visual C ++ 2010 Beta有一些有用的C ++ 0x支持 - 你可以使用lambdas,rvalue references,auto,decltype。
Comeau C ++或基于EDG的编译器令人惊讶地没有像我预期的那样在他们的C ++ 0x实现中。 GCC 4.4(可变参数模板,初始化列表,内联命名空间,autor,decltype)可能具有从任何其他编译器实现的最多功能,但是在概念和lambdas中滞后(单独的分支开发正在进行中)。

答案 3 :(得分:3)

beta version的当前Comeau compiler似乎具有良好的C ++ 0x支持。

答案 4 :(得分:3)

GCC 4.4至少具有一些很酷的功能(auto,可变参数模板,右值引用等)。概念和lambdas也有开发分支。

请参阅C++0x support in GCC

答案 5 :(得分:3)

Scott Meyers在这里有一个很好的详细比较:

http://www.aristeia.com/C++0x/C++0xFeatureAvailability.htm

答案 6 :(得分:3)

GCC 4.6,2011年3月25日发布,支持most of the non-concurrency-related features of C++0x。现在C ++ 0x是no longer in flux编译器支持可能会更快一点。

答案 7 :(得分:1)

C ++ 0x仍然没有准备好,所以不要指望它支持atm。 GCC 4.4和Visual C++ 2010是很好的候选人(他们有一些最令人期待的新功能,如lambdas和auto),可以帮助你入门,但标准还没有完成。

答案 8 :(得分:1)

我推荐使用intel编译器,如果你在Linux / unix上得到比GCC更好的支持并产生更快/更小的二进制文件(我通常可以使用它获得10%的免费性能提升)