9

是否有对新 C++0x 有良好支持的编译器?

我使用 GCC,但不幸的是当前版本 4.4 对新功能的支持很差。

4

9 回答 9

28

Apache 标准 C++ 库项目维护主要编译器的 C++0x 支持的 wiki 页面

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

于 2009-06-11T11:38:08.287 回答
6

恐怕 gcc 可能是你在这个阶段会得到的最好的。

这里有一个特性列表和支持的编译器:

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

于 2009-06-11T11:33:34.553 回答
4

唯一实现了概念的编译器是conceptgcc(即使它是不完整的——但它足以让你对这个特性有一个好的感觉)。
Visual C++ 2010 Beta 有一些有用的 C++0x 支持——您可以使用 lambda、右值引用、auto、decltype。
Comeau C++ 或基于 EDG 的编译器出人意料地没有我预期它们在 C++0x 实现中的先进程度。
GCC 4.4(可变参数模板、初始化列表、内联命名空间、autor、decltype)可能在任何其他编译器中实现了最多的功能,但在概念和 lambdas 方面落后(单独的分支开发正在进行中)。

于 2009-06-11T12:56:06.977 回答
3

Comeau 编译器的当前beta 版本似乎具有良好的 C++0x 支持。

于 2009-06-11T11:30:37.337 回答
3

GCC 4.4 至少有一些很酷的特性(auto、可变参数模板、右值引用等)。还有概念和 lambda 的开发分支。

请参阅GCC 中的 C++0x 支持

于 2009-06-11T11:34:20.683 回答
3

Scott Meyers 在这里进行了详细的比较:

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

于 2010-04-26T18:24:15.153 回答
3

2011 年 3月 25 日发布的 GCC 4.6 支持C++0x 的大部分非并发相关特性。现在 C++0x不再处于不断变化的编译器支持中,可能会进展得更快一些。

于 2011-03-26T18:14:42.407 回答
1

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

于 2009-06-11T11:31:59.470 回答
1

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

于 2009-06-11T11:41:58.653 回答