转载自:https://my.oschina.net/u/171160/blog/3054202
C++ 是一门难学易用的语言!一旦学成,妙用无穷。
相关书籍之多,人人都想找到一份学习的辟邪剑谱。
在这里,由浅入深的罗列出C++的相关书籍,可以根据你的需要去选择自己需要的书籍。
跟随本书单打好基础、开阔视野学好C++吧!
根据个人经验,简单将这些书籍分成三类:入门、提高、拓展,建议按顺序看。
入门
《C++ Primer 第 5 版》
C++ 的入门书,我最推荐这一本,必看!!!目前已经更新到第 5 版,包含 C++11 的内容,不要再看第四版了。
无论初学或老手既可用来理解C++11规则背后的原理,也可用其新语言特性与标准库来快速构建健壮程序,本书所有示例均全部采用 C++11 标准改写,这在经典升级版中极其罕见——充分体现了 C++ 语言的重大进展及其全面实践。
丰富的教学辅助内容、醒目的知识点提示,以精心组织的编程示范,让这本书在 C++ 领域的专业地位更加不可动摇。无论是初学者入门,或是中、高级程序员提升,本书均为不容置疑的选择.。
提高
《Effective C++》 和 《 More Effective C++》
C++是门比较多坑的语言。
《Effective C++》这本书讲了很多内容,讲了很多如何高效地使用C++的方法,如何避免C++的坑。
而《 More Effective C++》可以认为是对 Effective C++ 的补充。
《Effective STL》
本书中作者解释了怎样结合STL组件来在库的设计得到最大的好处。这样的信息允许你对简单、直接的问题开发简单、直接的解决方案,也帮你对更复杂的问题设计优雅的方法。我描述了常见的STL使用错误,而且向你演示怎么避开它们。那帮助你躲开闪资源漏、不可移植的代码和未定义的行为。我讨论了优化代码的方法,所以你能使STL表现得像它应该的那样快速、光滑。
《C++ 标准程序库》第一版
很厚的一本书,可以当做工具书,熟悉下目录,遇到问题当参考、细看。
本书是全球C++经典权威参考书籍时隔12年,基于C++11标准的全新重大升级。
标准库提供了一组公共类和接口,极大地拓展了C++语言核心功能。本书详细讲解了每一标准库组件,包括其设计目的和方法、复杂概念的剖析、实用而高效的编程细节、存在的陷阱、重要的类和函数,又辅以大量用C++11标准实现的实用代码范例。除覆盖全新组件、特性外,本书一如前版,重点着眼于标准模板库(STL),涉及容器、迭代器、函数对象以及STL算法。此外,本书同样关注lambda表达式、基于区间的for循环、move语义及可变参数模板等标准库中的新式C++编程风格及其影响。
《STL 源码剖析》
每一个推荐深入STL的文章应该都少不了这本书。下面几个问题可以考查一下是否需要看看: 1.STL中DQueue的实现机制(数据结构式如何组织的,其迭代器的插入和删除过程中的实现) 2.是否熟悉红黑树,能否叙述其插入和删除过程,如何调整。 3.萃取器的几种实现
《泛型编程与STL》
这本书里面对萃取机制及各泛型的概念论述非常透彻,前6章为主要篇章,不可跳过。后面的可在实践中编码练习或查找。 后面章节可在看完之后做为手册使用,对STL中的常用算法和容器进行了归类讲解,并给出了相当数量的示例。
《C专家编程》和 《C和指针》
C++源于C,对于指针、对于各种地址的偏移计算,对于大端小端的深刻剖析,还得靠一些硬通货来解析;这两本书虽说不厚,但读起来确实费劲,信息量很足,很多都是在平时C++使用中没有意识到的知识点,却又都是重要的点。让人有知其所以然的快感;
涉及到底层的东西,都是用来验证编程功底是否扎实。要想彻底掌握C++底层的东西,还是得看看专家编程,很好的两本书,指针等讲的很透彻。
拓展
《深入理解C++11:C++11新特性解析与应用》
《深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
《C++并发编程实战(中文版)》
这本书讲的是 C++11/14 新增的线程库和多线程编程。
《C++ API设计》
本书适合具有一定c++ 编程经验的程序员阅读,也适合对api 设计主题感兴趣的读者参考。
现代软件开发中的一大难题就是如何编写优质的api。api负责为某个组件提供逻辑接口并隐藏该模块的内部细节。多数程序员依靠的是经验和冒险,从而很难达到健壮、高效、稳定、可扩展性强的要求。martin reddy博士在自己多年经验基础之上,对于不同api风格与模式,总结出了api设计的种种最佳策略,着重针对大规模长期开发项目,辅以翔实的代码范例,从而有助于设计决策的成功实施,以及软件项目的健壮性及稳定性的实现。
《C++沉思录》
《C++沉思录》基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。全书分为6篇32章,分别对C++语言的历史和特点、类和继承、STL与泛型编程、库的设计等几大技术话题进行了详细而深入的讨论,细微之处几乎涵盖了C++所有的设计思想和技术细节。全书通过精心挑选的实例,向读者传达先进的程序设计的方法和理念。
《深度探索 C++ 对象模型》
本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。书中涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。
这本书比较难,可以简单看一看,知道调用虚函数是有额外代价的就行…