这个问题试图收集每年出版的几十本不良的C++书籍中的几颗珍珠。
P>与许多其他编程语言不同,这些程序语言经常在互联网上找到教程,很少有人能快速学习C++而不需要学习一本写得好的C++书籍。这样做太大太复杂了。事实上,它是如此的庞大和复杂,以至于 > >强>有很多非常糟糕的C++书籍 。我们谈论的不是糟糕的风格,而是一些明显的事实错误,以及推广糟糕的编程风格
请编辑已接受的答案,以提供高质量的书籍和大致的技能水平-最好在<a href=”中讨论您的添加内容后https://chat.stackoverflow.com/rooms/10/loungec“C++聊天室 (如果常客们不同意你的推荐,他们可能会毫不留情地撤销你的作品。)为你个人阅读/受益的每本书添加一个简短的简介/描述。请随意讨论质量、标题等。符合标准的书籍将被添加到列表中。由C和C++用户协会(ACCU)进行评论的书籍与评论有链接。
初学者
介绍性,没有以前的编程经验
-
C++初级读本*(斯坦利·利普曼、何塞·拉乔伊和芭芭拉·e·穆奥)(针对C++11进行了更新)共1k页,这是一个非常透彻的C++语言,它涵盖了语言中的所有事物,非常容易理解,而且非常详细。第五版(2012年8月16日发布)涵盖了C++11[回顾]
*不要与C++初级读物Plus(Stephen Prata),但明显不太有利回顾
-
编程:使用C++(Bjarne Stroustrup,第二版-2014年5月25日)(针对C++11/C++14更新)用C++语言编写的程序设计入门。这是一本很好的读物,假设没有以前的编程经验,但不仅仅是初学者
介绍性,有编程经验
-
C++(Bjarne Stroustrup)(C++17的第二版是一个快速(约180页和14章)教程概述的所有标准C++(语言和标准库,和使用C++ 11 )在一个中等水平的人已经知道C++或至少是有经验的程序员。这本书是一个扩展的版本,构成C++编程语言第2-5章的第四版。
-
加速C++(Andrew Koenig and Barbara Moo,第一版,2000年8月24日)这基本上涵盖了与C++初级读本相同的内容,但占用了四分之一的空间。这在很大程度上是因为它并不试图介绍编程,而是介绍C++,供以前使用其他语言编程的人使用。它有一个更陡峭的学习曲线,但是,对于那些能够应付这种情况的人来说,它是一个非常紧凑的语言入门。(历史上,它是第一个初学者使用现代语言教学的书,它开辟了新的天地。)尽管如此,C++
它教的是纯C++98[回顾]
最佳做法
-
有效C++ C++ /EM> (Scott Meyers,第三版- 2005年5月22日),这是以C++程序员应该读的最好的第二本书为目标编写的,它成功了。早期版本的目标是来自C语言的程序员,第三版改变了这一点,目标是来自Java等语言的程序员。它以一种非常容易理解(且令人愉快)的方式展示了约50条易于记忆的经验法则及其基本原理。对于C++ 11和C++ 14,实例和一些问题已经过时,现代C++应该是首选的。a href=”https://accu.org/bookreviews/1998/glassborow_700“rel=”nofollow noreferrer“>[回顾]
-
EM >有效的现代C++ (Scott Meyers),这基本上是新版本的EM>有效C++/EM>,针对C++程序员从C++ 03到C++ 11和C++ 14的转换。
-
有效STL(斯科特·梅耶斯)这旨在对来自STL的标准库部分执行与有效的C++对整个语言相同的操作:它提供了经验法则及其基本原理[回顾]
中间的
-
异常C++(Herb Sutter)作为一组谜题呈现,除了深入研究各种其他主题(包括PIML成语、名称查找、良好类设计和C++内存模型)之外,这还包括通过资源获取初始化(RAII)来对C++中的适当资源管理和异常安全性进行最好和彻底的讨论。a href=”https://accu.org/bookreviews/2000/griffiths_209“rel=”nofollow noreferrer“>[回顾]
-
更多异常C++(Herb Sutter)涵盖了异常C++中未涉及的其他异常安全主题,除了讨论C++中的有效面向对象编程和正确使用STL.[回顾]
-
En> Excel C++风格 (Habor萨特)讨论泛型编程、优化和资源管理;这本书还对如何使用非成员函数和单一责任原则编写C++中的模块化代码有很好的阐述。a href=”https://accu.org/bookreviews/2005/goodliffe_107“rel=”nofollow noreferrer“>[回顾]
-
C++编码标准(Herb Sutter and Andrei Alexandrescu)“编码标准”在这里并不意味着“我应该缩进代码多少空格?”这本书包含101个最佳实践、习惯用法,以及常见的陷阱,可以帮助您编写正确、易懂、高效的C++代码。a href=”https://accu.org/bookreviews/2004/glassborow_1439“rel=”nofollow noreferrer“>[回顾]