2009-06-11 67 views
9

是否有一個編譯器對新的C++ 0x有很好的支持?編譯器支持即將推出的C++ 0x

我使用GCC,但不幸的是,當前版本4.4對新功能的支持不足。

+0

重複的http://stackoverflow.com/questions/657511/c-compiler-that-supports-c0x-features – 2009-06-11 11:47:59

+4

任何所謂的重複問題,不具有Comeau功能(或任何基於EDG的編譯器,例如,英特爾;我不挑剔)作爲一個答案是不值得鏈接到。 :-P – 2009-06-11 11:51:15

+0

@Chris,問題是否重複與其答案無關。如果您認爲缺乏其他問題的答案,您可以通過添加自己的答案來解決問題。 – 2011-02-22 01:17:09

回答

4

具有一個唯一的編譯器概念的實現是conceptgcc(甚至是不完整的 - 但它足以讓這個功能獲得良好的感覺)。
Visual C++ 2010 Beta有一些有用的C++ 0x支持 - 你可以玩lambda表達式,右值引用,auto,decltype。
Comeau C++或基於EDG的編譯器令人驚訝地不像我期望的那樣先進,它們在C++ 0x的實現中。 GCC 4.4(可變參數模板,初始化列表,內聯命名空間,autor,decltype)可能具有實現其他編譯器功能最多的功能,但在概念和lambda表達式方面存在滯後性(獨立分支開發正在進行)。

3

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

+0

我已經嘗試http://www.comeaucomputing.com/tryitout/在線編譯器......它不會編譯`std :: shared_ptr` ... – 2010-11-15 13:43:28

+1

@Stephane:它是`std :: tr1 :: shared_ptr `,而不是`std :: shared_ptr`。 – 2010-11-16 16:02:51

+0

thx的評論;-)我會再試一次。 – 2010-11-16 16:10:14

1

C++ 0x還沒有準備好,所以不要指望它支持atm。 GCC 4.4和Visual C++ 2010是很好的候選人(他們有一些最令人期待的新功能,如lambda和汽車)可以幫助你開始,但是標準還沒有完成。

3

GCC 4.4也至少有一些很酷的功能(auto,可變參數模板,右值引用,等等)。還有概念和lambda的開發分支。

請參閱C++0x support in GCC

1

我建議英特爾編譯器,如果你的Linux/UNIX上它有比GCC更好的支持,併產生更快/更小的二進制文件(我通常用它得到一個免費的10%的性能提升)