英文原文:must read c++ book list,翻译:iteye
多读一些优秀的书籍,对于开发者稳固编程基础、提高编程技能有很大帮助。但是,大多时候,初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶。
本文总结了一个c++优秀书籍清单,希望能够为你带来一定的帮助。这些书大多数都有中文版,并且可以很容易在网上找到。
阶段 1
《essential c++》
这是一本内容不多但很实用的c++入门书籍,强调快速上手与理解c++编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到c++的函数和结构,也会学习到它们的设计目的和基本原理。
本书对c++基本概念、技术、以及现代c++编程风格进行了全面而且权威的阐述,是c++初学者的最佳指南;本书可以帮助你编写实用的程序,而无需首先精通每个语言细节。对于中高级程序员,本书也是不可或缺的参考书。
&
阶段 2
《effective c++》和《more effective c++》
作者是scott meyers。你应该熟读它们,并清楚地理解每个项目。该书围绕55条准则,每一条都介绍了一个可让你写出更好的c++程序代码的方法,并以特别设计过的例子详加讨论。
&
《exceptional c++(c++编程剖析)》和《more exceptional c++》
这两本书中都包含了40个c++编程问题,这些问题会让你磨练自己的技能,最终成为优秀的c++程序员。这些问题是herb sutter精心挑选,与iso/ansi c++官方标准相一致,帮助程序员在设计、架构和编码过程中保持良好的风格,从而使编写的c++软件更健壮、更高效。
&
【更新】:根据微博网友反馈,已经原来“阶段3”的两本书放到“阶段5”,故而总阶段数减到4个。
@左耳朵耗子: 挺可靠的。另,我认为,阶段3的书应该放在阶段5。//@非魔: @左耳朵耗子 这个清单科学吗? //@程序员的那些事: c++程序员的阅读清单
&
阶段 3
《the c++ standard library(c++标准程序库)》
这是标准模板库字典,你可以在本书中找到stl相关的一切知识。本书焦点放在标准模板库、检查容器、迭代器、函数对象和stl算法上。每一个元素都有深刻的呈现,包括其介绍、设计、运用实例、细节解说、陷阱、意想不到的危险,以及相关类别和函数等。
&
《effective stl》
这是scott meyers的第三本c++专著,也是学习stl最权威的书籍。作者对书中的50个指导方针都作了详尽的分析,并配以示例。通过这些规则,c++开发者可以最大限度地使用stl。
《generic programming and the stl(泛型编程与stl)》
本书阐述了泛型程序设计的核心理念:concepts(概念)、modeling(模型)和refinement(改善),并为你展示这些观念如何导出stl的基础概念:iterators(迭代器)、containers(容器)和function objects(函数对象)。按照本书所述,你可以把stl想象成一个由concepts组成的library,你将学习到stl正式结构并理解其强大的优势。
&
阶段 4
《inside the c++ object model(深度探索c++对象模型)》
本书专注于c++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承,帮助你理解程序的底层实现,以便写出更高效的代码。
《the design and evolution of c++(c++语言的设计与演化)》
本书作者也是c++语言的设计者bjarne stroustrup,作者在书中综合性地介绍了c++的发展历史,c++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了c++所适合的应用领域及其未来的发展前景,既没有忽略关键性的详情,又没有过多地陷入技术细节。
&
作者为herb sutter。本书同样提出了40个c++风格相关的问题,对一些至关重要的c++细节和相互关系提出了新的见解,为当今的关键c++编程技术(如泛型编程、stl、异常安全等)提供了新的策略,帮助开发者在开销与功能之间、优雅与可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。
《c++ template》
这是一本关于c++模板的完整的参考手册和教程,它强调模板的使用实践,包含了现实世界中的例子。每个c++程序员都应该好好读一读这本书。
作者andrei alexandrescu为c++程序员打开了一个新的局面。本书提供了一些针对软件设计的前沿方法,如联合设计模式、泛型编程,使程序员可以编写有表现力的、灵活的、高度可重用的代码。
《thinking in c++(c++编程思想)》
c++ 领域权威著作,介绍了c++实用的编程技术和最佳的实践方法。
&
&
&