对于希望他的C ++代码可以在不同的C ++编译器中移植的人来说,是时候开始使用C ++ 11,还是在所有主要编译器支持新标准之前还需要一段时间(VC,GCC,CLang,Intel)?
换句话说,主要编译器中C ++ 11支持的状态是什么?
答案 0 :(得分:6)
Clang(定期更新):
GCC 4.5至4.7(定期更新):
Visual C ++ 10和11(有点旧,但我发现最新):
http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
答案 1 :(得分:3)
所有主要编译器的最新版本都支持某些 C ++ 11功能。但是还没有编译器完全支持,如果你希望你的代码是可移植的,你可能还需要考虑并非所有人都使用他们编译器的最新版本。
所以答案是“它取决于”。
所有主要编译器都支持许多功能。 (例如,auto
,rvalue refs和lambdas可以广泛使用。)
还有一些功能可用于某些编译器,但不是所有编译器。
@Kos发布的链接应该可以让您了解每个编译器的位置。
您是否可以/应该开始使用C ++ 11完全取决于您。
答案 2 :(得分:2)
除了上述网站之外:此处还可以找到包含编译器支持c ++ 11功能的确切版本的不同编译器的比较:
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
列出的编制者:
HP aCC, EDG eccp, GCC, 英特尔C ++, MSVC, IBM XLC ++, Sun / Oracle C ++, C ++ Builder 2009/10, 数字火星C ++, 铿锵