C++程序设计书籍推荐
创作立场声明:读书、有感、推荐、助人
1 计算机类书选择的基本原则
计算机类书选择基本原则——外国人写的优先。甚至是可以说非外国人写的不买。当然这个外国主要指的是美欧等发达国家,特别是美国。
计算机这个行业,世界顶尖的科学家都不是国人。从技术先进性上我们就落后了一大截。落实到文字上也必然是国外写的更贴近最先进技术。再看作者,国外的书一个人写的比较多。反观国内很多书几个人合写的、以工作室写的不少,感觉就是为了写书而写书,也许是需要评职称之类的必须有书才写的。这些不是发自内心的作品,没有办法达到一个很高的层次。
下面推荐一些C++程序设计的书
2 语言类
2.1 C++程序设计语言——创始人的书
这本书的作者 Bjarne Stroustrup ( 斯特劳斯特鲁普) 就是C++的创始人,被称为C++之父。他写的书不用多说了,肯定是非常非常好的。但也是比较难读的,尤其是后一部分。
这本书针对新的C++11标准,细致、全面、综合地阐述了C++语言及其基本特性、抽象机制、标准库和关键设计技术。对每个特性或组件作者从基本原理、规范、例子等方面细致讲解,基本原理包括设计这个特性(组件)的目的、设计原理、根本的局限。规范指详细定义,并以专业程序员需要进行取舍(更深入可以查询标准文献)。例子示范单独使用或组合使用的推荐方式、关键技术和习惯用法、程序可维护性和性能方面隐含的问题等。
这本书分为上下两部分,第二部分是标准库,是容易忽略的部分,但它是C++的精华。可以说不掌握标准库,就不能说精通C++。
2.2 C++ Primer(中文版 第5版)——教科书式的
这本书的作者 Stanley B. Lippman,是微软公司 Visual C++ 团队的架构师。他从1984年开始在贝尔实验室与C++的设计者Bjarne Stroustrup一起从事C++的设计与开发。也是大佬级别的人物。
这本书的特点是讲述由浅入深,并结合大量代码示例来讲解C++语法和标准库,比较适合做教科书。每节后还有练习题,便于加深印象,巩固该节所学。这本书所有的例子和讲解都遵循C++11标准的思路和风格。
如果只想买一本书,建议先买这本看,能看下去就成了,也许看到一部分就放弃了,那不用再多花费买上一本了。
如果想深入的学习C++,并计划以此为职业,那么上面这两本书一定要看。再深入就直接看标准吧。如果仅仅是了解会一点,那么就不要看上面这两本书,下面这两本更适合你。
2.3 Essential C++中文版
这本书的作者就是《C++ Primer》的作者,写了那么厚的大部头书,又写了这么一个薄册子,不可思议中却有一定的必然。内容全面的书虽好,但不是多数人的选择;化繁为简,取其精华,也许对多数人来说再好不过了。这本薄书把C++语法基本的东西讲到了,虽然不够深入,一般的学习够了。
2.4 C++ Primer Plus(第6版 中文版)
这本书也是很有名的,是标准的教学用书,有代码,有练习,讲解比较全面。适合无编程基础的人学习。
3 STL标准程序库与模板
3.1 C++标准库(第2版)
《C++标准库(第2版)》对大部分标准库组件进行了详细讲解,包括其设计目的、方法、剖析了复杂概念、对编程细节做了强调、对存在的陷阱、重要的类和函数进行详细阐述。编写了大量用C++11标准实现的实用代码范例。掌握标准库非常重要,它能够更方便的写出安全可靠的C++程序。
这本书很厚,不要害怕,首先只需要知道怎么用就可以了,不需要知道背后的秘密。仅会用就会获得很大的收益。可以买一本做工具书,需要时翻翻。
3.2 C++ Templates中文版
模版入门书,内容全面,讲解详细。有概念性的介绍,也有具体行为的描述。缺点书有点老。
3.3 C++ Templates 第2版 英文版
最新的,涵盖C++11、14、17,但是没有中文版,自己慢慢看吧。
4 提高类
4.1 Effective C++:改善程序与设计的55个具体做法(第3版 中文版)
对这本书最经典的评价是“有人说C++程序员可以分为两类,读过Effective C++的和没读过的”,虽然有点夸张,但同时说明这本书太不一般。书中把一些C++易错的细节讲得比较清楚,都是极佳的经验之谈。讲述过程示例极佳,思路明晰。读明白能大大提高C++的编程水准。
4.2 More Effective C++:35个改善编程与设计的有效方法(中文版)
技术深度相对于《Effective C++》如书名所说更深一层,注重于通过书中的条款,写出更高效的代码。
说句题外话,侯捷翻译的书,不服不行。
4.3 STL源码剖析
书挺老,讲的STL版本的实现可能跟当前主流版本有区别。但对于了解STL整体构造理解还是一部有价值的书。
5 辅助类
C++ Primer习题集(第5版)
本书是久负盛名的《C++ Primer》配套习题解答,提供习题的参考答案和解题思路。个人建议能不看就不看,如果很多习题需要看这个书才明白,那说明不适合学C++了。
数不多,但都是经典,若能融汇贯通,已非寻常之辈。
最后特别忠告,C++是非常难的一门语言,那些打着培训的口号,招年轻人进行培训,目标成为专业的程序员,并且宣传他培训的人员发展的多么好的机构不要去学,去了只是浪费金钱和时间。平时学习都感吃力的,学C++不太可能深入的学的很好,而要想学好,需要很强大的自学能力。那些培训机构也许培训1000人,才出一个它所宣传的那些优秀人才,而我们其实都是普通人,别按还未展露的天才来看待自己。
书不贵多,贵精。
![](https://res.smzdm.com/pc/pc_shequ/dist/img/the-end.png)
一无所有不好吗
1、《C++从入门到精通》
2、《21天精通C++》
3、《C++从入门到放弃》
之类以增加讨论热度。
校验提示文案
一无所有不好吗
1、《C++从入门到精通》
2、《21天精通C++》
3、《C++从入门到放弃》
之类以增加讨论热度。
校验提示文案