这个问题要试图收集之间的坏的 c + + 简介册的发布每年几十几 pearls。

与许多其他编程语言,通常是领取最多的功能从互联网上找到的教程转,很少有人能够快速而无需学习 c + + 编写得很好书选取 c + +。它是太大,这样复杂。事实上,它是这样大而复杂,有很多非常不好的 c + + 书籍那里。和我们不谈论不好的风格,但诸如体育显然是明显的事实错误推广 abysmally 不正确的编程风格.

请编辑接受的答案提供质量手册和近似的技能级别 —最好讨论您附加在c + + 的聊天房间内(将可能 mercilessly 撤消所做的工作如果他们不同意建议。)添加有关您个人读/享受每本书简短简介/说明。尽管辩论质量、 标题,等等。符合条件的书籍将添加到列表中。由关联的 C 和 c + + 用户 (ACCU) 评论书籍已链接到评审。

注意︰ 常见问题解答和其他资源可以找到在c + + 标签信息的方式并在另外,还有类似公告为 c︰权威 C 册指南和列表

2008-09-20 15:00:47
问题评论:

回答:

初级

介绍性、 没有上一个编程经验

  • 编程︰ 原则和做法使用 c + + (Bjarne) Stroustrup针对 C + + 11 / C + + 14使用 c + + 语言的创建者的编程简介。良好的读,它假定没有以前的编程经验,但不只是个初学者。

介绍,与以前的编程经验

  • C + + 初级课程* (Stanley Lippman,Josée Lajoie,以及 Barbara E.Moo) (针对 C + + 11) 即将在 1 8k 页,这是非常全面的每一件事在语言中非常易于访问的格式,并详细介绍了 c + + 引入。第五版 (发布 2012 年 8 月 16 日) 介绍了 C + + 11。[回顾]

  • C + + 教程(Bjarne) Stroustrup(电子书)"漫游"只是一个快速 (大约 180 页和 14 章) 教程概述所有标准 c + + (语言和标准库,并使用 C + + 11) 在相对较高的人已经知道 c + + 或至少是有经验的程序员级别。这本书是材料的构成章 2-5 的 c + + 编程语言中,第四版的扩展的版本。

  • 加速 c + + (Andrew Koenig 和 Barbara Moo)这基本上涵盖同一地面作为c + + 的初级读本,但是 does 等对其空间的第四个。这是很大程度上是因为它不会尝试介绍编程,但c + +的人先前已在其他语言中的某些编程的介绍。它具有较为陡峭的学习曲线,但是,对于那些可以对付这样的人,是非常简洁的语言引入。(从历史上看,它破坏了进取的第一个初学者的书,在教学语言使用现代方法。)[回顾]

  • 在 c + + 的思考(布鲁斯 Eckel)两个卷;教程的样式可用设置的简介级图书。下载︰第 1第 2遗憾的是他们是由大量微不足道的错误 (如维护临时变量将自动const),marred 没有官方勘误列表。部分 3研发方勘误列表是网址 (http://www.computersciencelab.com/Eckel.htm),但显然不保留。

* 不来检查显著降低与混淆, c + + 的初级读本加(Stephen Prata),.

最佳做法

  • 有效的 c + + (Scott) Meyers这是编写正在本着最佳的第二个应阅读书籍 c + + 程序员,和它成功。早期版本面向来自 C 程序员,第三版更改这并面向来自类似 Java 语言的程序员。它非常的访问 (和愉快) 的方式提供大约 50 名容易记住法则以及其基本原理。对于 C + + 11 和 C + + 14 示例和几个问题是过时,应首选有效现代 c + +。[回顾]

  • 有效的现代 c + +(Scott) Meyers这基本上是有效的 c + +,目的是使从 C + + 03 转换为 C + + 11 和 14 C + + 的 c + + 程序员的新版本。

  • 有效的 STL (Scott) Meyers这旨在执行部分的标准库来自 STL有效的 c + +语言作为一个整体的做相同的操作︰ 它介绍了其基本原理和法则。[回顾]

中级

  • 更有效的 c + + (Scott) Meyers有效的 c + +比更多规则的法则。不是在第一本书,但仍然很有必要知道这些那样重要。

  • 优异的 c + + (等 Sutter)显示为一组的谜题,这有一个正确的资源管理的最佳和全面的讨论,通过资源购置的 c + + 的异常安全初始化 (RAII) 以及各种其他主题,包括 pimpl 用法、 名称查找、 好的类设计和 c + + 内存模型的深入。[回顾]

  • 更优异的 c + + (等 Sutter)讨论中的主题不优异的 c + +中,讨论了在 c + + 编程的方向和正确有效的对象除了使用 STL 的附加异常安全。[回顾]

  • 优异的 c + + 样式(等 Sutter)讨论泛型编程、 优化和资源管理;本书还提供了如何使用非成员函数和单一责任原则在 c + + 编写模块化代码的极好展示。[回顾]

  • C + + 编码标准(等 Sutter 和 Andrei Alexandrescu)"编码标准"这里并不意味着"应该多少空格缩进我的代码?"这本书包含 101 的最佳做法、 惯用语,和常见的缺陷,可帮助您编写正确,可以理解的和有效的 c + + 代码。[回顾]

  • C + + 模板︰ 完整的指南(David Vandevoorde 和 Nicolai M.Josuttis)这是本书关于模板在 C + + 11 之前存在。它涵盖一切从最基础到最先进的模板元编程的一些的地方,并解释了模板如何工作 (从概念上和在实现方式) 和讨论许多常见错误的每个细节。在附录中有一个定义规则 (ODR) 和重载决策的很好总结。第二版定于 2017年。[回顾]


高级

  • 现代的 c + + 设计(Andrei) Alexandrescu有关高级泛型编程技术的突破性书。介绍了基于策略的设计、 类型列表和基本的泛型编程惯用语,然后解释可以有效、 能够,而完全使用泛型编程来实现多少有用的设计模式 (包括小对象分配器、 functors、 工厂、 访问者和 multimethods)。[回顾]

  • C + + 模板元编程(David Abrahams 和 Aleksey Gurtovoy)

  • 操作中的 c + + 并发(安 Williams)一本书,介绍 C + + 11 并发支持包括线程库、 原子结构库、 c + + 内存模型、 锁互斥锁,以及设计和调试多线程应用程序的问题。

  • 高级 c + + 元编程(Davide Di) GennaroPre-C + + 11 手册 TMP 技术,专注于更多比理论上的练习。有的本书,其中的一些废弃的 typetraits,但技术,仍然是中段的大量有用知道。如果您可以拍卖与古怪的格式或编辑,则更易读 Alexandrescu,且有证据证明,更多的奖励有。对于经验丰富的开发人员而言,没有可能拿起 c + + (一个奇怪的现象),通常只是通过丰富的经验阴暗角落的某一个好机会。


引用样式的所有级别

  • C + + 编程语言(Bjarne) Stroustrup针对 C + + 11由其创建者的 c + + 中经典的简介。编写它并不仅仅是关于一切从核心语言标准库,对编程范例的语言哲学对盖的并行经典 K & R,这确实的读取非常相似。[回顾]

  • C + + 标准库教程和参考(Nicolai) Josuttis针对 C + + 11简介和 c + + 标准库的引用。第二版 (2012 年 4 月 9 日发布) 介绍了 C + + 11。[回顾]

  • C + + IO 流和区域设置(Angelika Langer 和博士 Kreft)很非常少,关于此书说,不同的是,如果您想要知道的任何关于流和区域设置,则这就是一个地方找到明确的答案。[回顾]

C + + 11/14 的引用︰

  • C + + 标准 (INCITS/ISO/IEC 14882 2011年) 这,当然,是或不是 c + + 的所有最终判决。但是应注意,它是纯粹作为有经验的用户愿意花大量的时间和精力对其理解的参考。同往常一样,第一版已非常昂贵 (300 + 美元),但它现在已经发行以电子形式为 60US 美元。

  • 标准 C + + 14 是可用的但它看起来不在经济形式--直接从 ISO成本 198 瑞士法郎 (约 200 美元)。对于大多数人来说,在标准化之前的最后草稿是多足够 (和自由)。很多会更喜欢更高的草稿,记录可能被包括在 C + + 17 的新功能。

  • 的新 c + + 的概述 (C + + 11/14) (仅用于 PDF) (Scott) Meyers更新 1 年 C + + / C + + 14这些都是为期三天的培训课程由 Scott Meyers,是在 c + + 工作高度尊敬的作者提供演示文稿材料 (幻灯片和一些讲座的笔记)。即使项目列表很短,质量较高。

  • CppCoreGuidelines (11 C + + / 14/17? 发展) (仅减价) (Bjarne Straustrup,等 Sutter)本文档是一套很好地使用 c + + 的准则。本文档旨在帮助人们有效地使用现代 c + +。"现代 c + +"指 11 C + + 和 C + + 14 (和很快 C + + 17)。换句话说,您希望您的代码以类似于 5 年的时间,假设您现在可以开始?在 10 年的时间?指导原则的重点是相对更高级别的问题,如接口、 资源管理、 内存管理和并发性。这种规则会影响应用程序的体系结构和库设计。遵守规则将导致是静态类型安全,有没有资源泄漏,并且捕捉到更多编程逻辑错误比目前的通用代码中的代码。和它将快速运行-您可以做的事。


经典 / 旧

注意︰这些书籍中包含的某些信息可能无法保持最新或不再被视为最佳做法。

  • 设计和 c + + 的演变(Bjarne) Stroustrup如果您想要知道为什么语言是就是的如此,这本书是在哪里找到的答案。这涵盖一切标准化之前的 c + +。

  • 在 c + + ruminations -(Andrew Koenig 和 Barbara Moo) [审查]

  • 先进的 c + + 编程样式和惯用语(James) Coplien前置任务的模式移动,它描述了许多 c + + 特定"惯用语"。它的确是很好的书,可能仍然值得读如果可以节省时间,但非常旧并不是最新的当前 c + +。

  • 大规模的 c + + 软件设计(John) LakosLakos 解释了很大的 c + + 软件项目管理的技术。当然很好读,如果只是最新的。长时间在 C + + 98 年,编写和漏的许多功能 (如命名空间) 重要的大型项目。如果需要大的 c + + 软件项目中的工作,您可能需要阅读它,尽管您需要采取与之盐多颗粒。新版本的第一卷是预计在 2015.

  • 在 c + + 对象模型(Stanley) Lippman如果您想要知道如何虚拟成员函数的常用实现和基对象通常布置在内存中多继承的情况下,以及所有这会影响性能,这是将在其中查找的此类主题进行全面讨论。

  • 带批注的 c + + 参考手册(Margaret A.Ellis Bjarne Stroustrup)这本书相当过时,它探讨了 1989 c + + 2.0 版本,即模板、 异常、 命名空间和新的强制转换不还引入了这一事实中。说,但是这是本书所经历整个 c + + 标准的基本原理、 可能的实现和功能的语言解释的时间。这不是一本书不了解编程原则和模式 c + +,但了解 c + + 语言的方方面面。

有的或许,c + + 中书不应阅读列表吗?

@G Rassovsky︰ 有望在 Y 时间教 X 的所有资料。例如学习 c + + 在 24 小时内。我相信所有这类书籍更好地避免。

我不喜欢上任何人的鞋子,单步执行,但即使我尊重作者免费发布他的资料在线并不建议布鲁斯 Eckel"想在 c + +"。该书的视角提出相对较差或无效使用 c + + 和"面向对象"编程,像是较差的 GoF 设计模式的应用程序。我发现它与一般情况下,编程有趣的入门手册,但是随着某人变得更加掌握编程和计算机科学 (特别是) 作为一个整体,我发现帐簿它认为纯粹是在"经典"OOP 条款对教育造成不利影响。

哪些是最适合于 C + + 14 引入一个 C + + 03 程序员?

@Michael︰ 没有 Scott Meyers有效现代 c + +再加上他的新 c + + 的概述(的 PDF,我相信,从他的讲座幻灯片)。

内容来源于Stack Overflow The Definitive C++ Book Guide and List
请输入您的翻译

The Definitive C++ Book Guide and List

确认取消