对于那些希望自己的C++代码可以在不同的C++编译器上移植的人来说,是时候开始使用C++11了,还是需要一段时间才能让所有主要的编译器(VC、GCC、CLang、英特尔)都支持新标准?
换句话说,主流编译器对C++11的支持情况如何?
发布于 2012-07-23 17:38:15
Clang (定期更新):
http://clang.llvm.org/cxx_status.html
GCC 4.5至4.7 (定期更新):
http://gcc.gnu.org/projects/cxx0x.html
Visual C++ 10和11 (有点旧,但我发现的最新版本):
http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
发布于 2012-07-23 17:42:55
所有主要编译器的最新版本都支持一些C++11功能。但是目前还没有完全支持的编译器,如果你希望你的代码是可移植的,你可能还必须考虑到并不是每个人都在使用他们的编译器的最新版本。
所以答案是“视情况而定”。
所有主流编译器都支持许多特性。(例如,auto、rvalue ref和lambda都是可用的)。
也有许多特性可以在某些编译器上使用,但不是所有编译器。
通过@Kos发布的链接,您可以很好地了解每个编译器的位置。
你是否可以/应该开始使用C++11完全取决于你。
发布于 2012-07-23 18:54:43
除了提到的网站之外,这里还提供了不同编译器的比较,其中包含编译器支持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++、Clang
https://stackoverflow.com/questions/11609868
复制相似问题