必读书单—如何学习C++?
《C++程序设计原理与实践》
作为C++的发明者,没有人能比Bjarne Stroustrup更理解C++。Bjarne在Texas A&M大学任教时使用C++为大学新生讲授编程,从而就有了《C++程序设计原理与实践》这本书——它面向编程初学者,既包含C++教程,也包含大量程序设计原则。它不但是我读过最好的C++入门书,也是我读过最好的编程入门书。
比较有趣的是,《C++程序设计原理与实践》直到全书过半都没有出现指针,我想这可能是Bjarne为了证明不学C也可以学好C++吧。
本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书中全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。 ● C++初学者的权威指南。无论你是从事软件开发还是其他领域的工作,本书将为你打开程序开发之门。 ● 中高级程序员的必备参考。通过观察程序设计大师如何处理编程中的各种问题,使你获得新的领悟和指引。 ● 全面阐释C++基本概念和技术。与传统的C++教材相比,本书对基本概念和技术的介绍更为深入,为你编写实用、正确、易维护和有效的代码打下坚实的基础。 ● 强调现代C++编程风格。本书从开篇就介绍现代C++程序设计技术,并揭示了大量关于如何使用C++标准库来简化程序设计的原理,使你快速掌握实用编成技巧。 ● 配套教辅资源丰富。本书网站(www.stroustrup.com/Programming)提供了丰富的辅助资料,包括实例源码、PPT、勘误等。- 作者: (美)Bjarne Stroustrup
- 出版: 机械工业出版社
《C++程序设计语言》
同样是Bjarne Stroustrup的作品,《C++程序设计语言》是C++最权威且最全面的书籍。第4版相对于之前的版本进行了全面的更新,覆盖了第二新的C++ 11标准,并砍掉了部分过时的内容。
《A Tour of C++》
如果你觉得《C++程序设计语言》过于庞大,但你又想快速的浏览一遍新版C++的语言特色,那么可以试试这本小红书。
《C++语言的设计与演化》
C++的“历史书”,讲述了C++是如何一步一步从C with Classes走到如今这一步,以及C++语言特性背后的故事。
这本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的历史和发展,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。- 作者: [美] Bjarne Stroustrup
- 出版: 机械工业出版社
《C++标准库》第二版
相对于其它语言的标准库,C++标准库虽然强大,但学习曲线十分陡峭,这本书是学习C++标准库有力的补充。
《c++标准库——自学教程与参考手册(第2版)英文版(上、下册)》第1版自1999年出版以来便享誉全球,并一跃成为c++领域的经典畅销图书。在13年之后的今天,本书仍然被广大c++程序员奉为“案头必备的c++参考手册”并不时拜读。 《c++标准库——自学教程与参考手册(第2版)英文版(上、下册)》在第1版的基础上,全面囊括了c++11新标准中的库组件,为每个库组件提供 了详细全面的文档;介绍了各个库组件的用途和设计;清晰解释了复杂的概念;阐述了高效使用c++标注库所需要的实用编程细节、陷阱和缺陷;大部分重要类和函数的精确签名(signature)和定义;此外还包含了大量的代码示例。本书重点讲解了标准模板库(stl)其中包括检查容器、迭代器、函数对象和stl算法。本书还讲解了新的c++编程风格以该风格及对标准库的影响,其中包括lambda、基于范围的for循环,移动语义和可变参数模板。 由于本书主要以介绍c++标准库的库组件为主,因此读者需具备类、继承、异常处理和名称空间等c++语言的基本概念。具有c++编程经验的中高级程序员也可以将本书作为c++标准库的自学教程和参考手册,从而开发出高质量的c++程序。对c++ stl感兴趣的其他编程人员也可以从本书中获益。- 作者: Nicolai M. Josuttis
- 出版: 人民邮电出版社
《深度探索C++对象模型》
这本书系统的讲解了C++是如何以最小的性能代价实现对象模型,很多C++面试题(包括被问烂的虚函数指针)都可以在这本书里找到答案。
《深度探索C++对象模型》专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。书中涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。- 作者: 斯坦利·B.李普曼
- 出版: 电子工业出版社
《Effective C++》and《More Effective C++》
由于C++的特性实在繁杂,因此很容易就掉到坑里。Effective系列既讲述了C++的良好编程实践,也包含C++的使用误区,从而帮你绕过这些坑。
《More Effective C++:35个改善编程与设计的有效方法(中文版)》内容简介:继Effective C++之后,Scott Meyers于1996推出这本《More Effective C++(35个改善编程与设计的有效方法)》“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtual constructors,smart pointers,reference counting,proxy classes,double dispatching……这一章的每个条款篇幅都达15-30 页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。 虽然出版年代稍嫌久远,但《More Effective C++》并没有第2版,原因是当其出版之时(1996),C++ Standard已经几乎定案,《More Effective C++:35个改善编程与设计的有效方法(中文版)》即依当时的标准草案而写,其与现今的C++ 标准规范几乎相同。而且可能变化的几个弹性之处,Meyers也都有所说明与提示。读者可以登录作者提供的网址,看看上下两集的勘误与讨论(数量之多,令人惊恐。幸好多是技术讨论或文字斟酌,并没有什么重大误失)。- 作者: 梅耶
- 出版: 电子工业出版社
评论(0)