书籍非常具有个人主观性,编程类的书籍也不例外。但是不管书籍的风格,重点或者节奏如何,好的 C++ 编程书能带读者开启一段引人入胜的旅程,拓展 C++ 语言的能力,向读者展示如何使用C++来构建各种东西。
我精心挑选了一些 C++ 的书籍,这些书都非常值得一读。我推荐的这 9 本书都是根据公共版权许可发行的书籍。在此之前,我先简要介绍一下 C++。
C++ 是由Bjarne Stroustrup设计的,在1983年发布了第一个版本。它是一门静态类型,通用的,可移植编程语言,形式自由,多范式,需要编译。也因为它结合了高层次和低层次的语言特征,被认为是一种中级语言。C++ 专为系统和应用程序编程而设计,它对 C 语言进行了扩展,自增操作符记为++,因此叫 C++。
C++ 一直是一门备受欢迎编程语言。例如,它被大量地用于嵌入式系统、银行和电信领域。它是 C 语言的超集,保留了 C 语言的效率和便利的符号标记,同时提供更强大的类型检查,多继承,数据抽象,异常处理,运算符重载,泛型编程和面向对象编程的功能。C++ 对许多其他语言产生了影响,包括 C#、Java 以及 C 语言的发展。
作者 Boris Schäling,570 页
Boost C++库在C++世界中有非常重要的影响力。这些便携式的库为诸多任务和结构提供了支持,包括多线程,容器,字符串和文本处理,迭代器,线性代数,伪随机数生成,元程序设计模板,并发程序设计,数据结构,图像处理,正则表达式和单元测试等。 Boost几乎可以用于任何现代操作系统,包括Linux和Windows的衍生版本,同时也支持大多数现代编译器。
本书介绍了72个非常实用的Boost库,这些库涵盖的范围非常广,可以帮助程序员更容易地管理内存和处理字符串。这些库还提供了扩展标准库的多种容器和其他数据结构,使用这些库可以轻松地构建独立于平台的网络应用程序。
本书是值得添加到各类收藏的好东西。书里的430个代码示例很好地阐明了这些库的功能。
书中章节对内存管理,字符串处理,容器,数据结构,算法,通信,流和文件以及时间等问题进行了研究。稍后的章节继续探讨了函数,并行性和泛型编程问题。在结尾覆盖了大量有关语言扩展,错误信息以及数字处理,应用程序库,设计模式和其他库等内容。
Boost C++库是根据Creative Commons Attribution – NonCommercial – NoDerivatives 4.0国际许可证发布的。如果您喜欢随身携带书籍,可以在Amazon上购买纸质版。电子版也可以在kindle上购买,电子书和 PDF 格式都可以。
作者 Frank B. Brokken,1029 页
本书提供了有关C++编程语言的全方位教程,可以用作C ++编程课程的教科书。它适用于熟悉C语言或者类似C语言语法的用户。
包括以下章节:
这本书有HTML,PDF,PostScript和Txt格式。它可以自由分发,并根据GNU通用公共许可证的条款发布。
作者 艾伦·尤斯特(Paul Ezust), 656页
本书首先介绍C++基本组成,面向对象的概念,UML(统一建模语言)和核心Qt类。进而转向更高层次的编程思想,Qt模型和设计模式。最后一部分严谨地印证了C++的重要特性,完整地覆盖了函数,继承和多态性方面的内容。
该书旨在用于大学课程,面向没有C或C ++编程经验的读者,还为教学工作者提供了Qt示例,练习,解决方案和授课幻灯片。
这本书是Bruce Perens开源系列的一部分。 本系列的所有图书均以Open Publication License V1.0或更新版本发布。
作者Allen B. Downey,191页
《如何像计算机科学家一样思考》C++版本是一本简洁文雅的介绍如何使用C++编程语言进行软件设计的书。本书从最基本的概念开始,以阅读者容易接受的速度逐渐增添新内容,旨在把没有编程经验的读者培养成未来的开发人员。
本书的主要内容:
本书是一本免费的C++版教科书,根据Creative Commons Attribution-NonCommercial 3.0 未本地化协议发布。
作者 Jasmin Blanchette,Mark Summerfield,464页
Qt的最新稳定版本是5.8。 本书指导读者如何使用Qt 3编写图形界面程序,Qt 3最近一个版本的是在2004年发布,但是有很多这本书对于Qt 4和Qt 5用户来说仍然是有意义的。
本书需要读者对C++有基本的了解,这不是一本面向初学者的书。
本书向读者介绍了使用Qt编写图形界面应用程序的所有概念和实践,对核心问题进行了详细周密的讲解,还提供一些专业前沿的学习资料。
这本书是Bruce Perens开源系列的一部分。本系列的所有图书均以Open Publication License V1.0或更新版本发布的。
作者 Pat Morin,336页
本书讲授了基本的数据结构设计和分析及在C ++中的实现。它涵盖了序列(列表),队列,优先级队列,无序字典,有序字典以及图的数据结构的实现和分析。作者意图在于为计算机科学专业的学生提供一条研究数据结构的免费途径。但是本书不是一本介绍C++编程语言或C++标准模板库的书,但是它有助于程序员了解STL数据结构如何实现以及为什么这些实现是高效的。
书中章节涵盖了基于数组的列表,链表,分级链表,哈希表,二叉树(包括随机二叉搜索树,替罪羊树和红黑树)。稍后的章节介绍了堆,排序算法(基于比较,计数排序和基数排序),图,整型数据结构和外存搜索。
这本书是根据知识共享署名许可颁发的。我们可以免费阅读这本书的HTML,PDF版本,本书的LaTeX版本,Java / C ++ / Python源码可以从GitHub下载。还有平装版购买。本书已被翻译成斯洛文尼亚语和土耳其语。
作者 Julian Smart,Kevin Hock与Stefan CsomorBrifll,744页
wxWidgets是一个流行的C++库,它允许开发人员使用单一的代码库为Windows,Mac OS X,Linux和其他平台创建应用程序。它支持各种图形库。
本书的简要介绍和入门章节涵盖了以下内容:
这本书是Bruce Perens开源系列的一部分。本系列的所有图书均以Open Publication License V1.0或更新版本发布。
作者 Jeremy Hansen,160页
书中的章节涵盖变量,文本,常量,输出输入,数据类型和转换,条件判断(if,else和else if,switch语句),字符串,循环,数组,块,函数和作用域。之后的章节对解决问题和问题定位进行了讲述,包括预处理器,高级算法,文件I / O,指针,动态数据,类和抽象,编译分离和STL。
这本书的大部分内容是由25位诺维奇大学的学生在一个黑客马拉松周写的,虽然不够完美,但还是一本不错的书。 它是根据基于Creative Commons Attribution-NonCommercial-ShareAlike 3.0.协议发布许可证发布的,也可以从亚马逊购买纸质版。
作者 Brian Gough,144页
本书主要介绍了 GNU C 和 C++编译器:gcc 和 g ++。二者都是GNU编译器集合(GCC)的一部分。
书中如何使用编译器本身。作者根据多年来在邮件列表上发表的问题,引导读者直接了解到GCC最重要的部分。
本书章节包括:
本书根据 GNU 自由文档许可证发布。