3

截至 2012 年 5 月 23 日,我想开始使用 C++11 进行编码并在我的所有项目中使用它,因为我看到了许多我非常喜欢的新功能。但是,我所拥有的编译器都不支持 C++11 的任何内容。谁能推荐一些书籍和编译器?在我的项目中使用 c++11 是个好主意吗?qt creator 2.5 支持 c++11 吗?

4

2 回答 2

14

您选择的编译器将取决于您正在开发的平台。

Gcc 4.7 和 Clang 似乎支持最多的 C++11 功能,但我认为他们的 Windows 支持主要限于 mingw,我相信即使在那里也有限。英特尔 C++ 对 C++11 的支持不如 gcc 或 clang,但比 VC++ 多,而且它对 Windows 的支持很好。VC++ 11 是一个出色的编译器,并具有出色的 Windows 支持,但不幸的是,它在今天的 C++11 特性、缺少可变参数模板、初始化列表和统一初始化、用户定义的文字、constexpr、新的字符串文字、默认/删除函数、委托/继承 ctor、模板类型别名等。

如果你的目标是 Linux,那么 gcc 显然对此有很好的支持,而且我认为 clang 并不算太早。如果您的目标是 BSD 或 OS X,那么 Clang 是显而易见的选择。

如果您面向多个平台,那么您只需将自己限制在适用于所有编译器的 C++11 子集。

C++11 编译器支持:http ://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport


C++11 书籍刚刚开始问世。有一个新版本的C++ 标准库:教程和参考C++ Concurrency In Action相当彻底地涵盖了新的内存模型、多线程和原子的东西。据我所知,到目前为止,这些是唯一的。不过网上有很多文章和东西,应该足够入门了:

文章和论文

会议


使用 C++11 是个好主意,只要缺乏支持不会阻止您这样做。


Qt Creator 2.5 确实支持 C++11: http: //labs.qt.nokia.com/2012/03/15/qt-creator-2-5-beta/

于 2012-05-23T19:52:04.893 回答
0

我从http://nuwen.net/mingw.html获得了 gcc 4.7 二进制文件,这让我可以使用大部分 C++11 功能。它非常容易安装和设置(我在 Windows 7 上使用 Code::Blocks 10.05)。唯一的小问题是它没有随 gdb 一起提供,但很容易找到、下载和安装。

于 2012-05-23T21:56:06.610 回答