【发布时间】:2013-08-13 15:14:06
【问题描述】:
我想知道用 C++11 编写软件在 Windows 上的效果如何。使用 Windows 的本机编译器之一是最舒服的(并且可能是最自然的) - 我在这里考虑 Visual Studio 2012 Express 或 Visual Studio 2013 Express。到目前为止我能找到的关于这件事的一切都是
- http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx (VC10和VC11的C++11特性对比,貌似比较差)
- http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx(不是很透明,我不知道它的效果如何)
有没有人知道当前 Visual Studio 版本在处理 C++11 方面的表现如何?我现在真的很想开始使用自动、lambda、可变参数模板、模板别名、初始化列表和右值引用(仅举几例)以及所有其他好东西,但如果 Windows 可能是一个问题,我可能不得不使用 C ++03 进一步。
另一种可能性似乎是在 Windows 上安装 LLVM 和 Clang。我的主要平台是 OSX,在该系统上 Clang 对 C++11 的支持非常好。但我读到 C++ 标准库 (libc++) 的 LLVM 版本在 Windows 上运行不佳。所以 LLVM/clang 可能不是一个选项。
您对 Windows 上的 C++11 开发有何看法?
谢谢!
【问题讨论】:
-
“我真的很想开始使用 auto、lambdas ...” -- Visual Studio 从 v10 开始就支持这两种方法。你还想用什么?
-
我刚刚提到了我首先想到的两个功能。链接#1中的表格。我发布的内容给我的印象是v10和v11还不能很好地处理C++11...
-
你也可以去GCC4.7+/MinGW
-
对我来说,现在避免使用 VC++ 的原因是有一些错误的可变参数模板和非静态成员初始化器以及使用别名。此外,clang 的编译速度似乎比 VC++ 快了一个数量级。