文档章节

C++ 程序员必读书目清单

N3verL4nd
 N3verL4nd
发布于 2017/03/25 10:20
字数 1307
阅读 8
收藏 0

多读一些优秀的书籍,对于开发者稳固编程基础、提高编程技能有很大帮助。但是,大多时候,初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶。

本文总结了一个 C++ 优秀书籍清单,希望能够为你带来一定的帮助。这些书大多数都有中文版,并且可以很容易在网上找到。

阶段 1

《Essential C++》

这是一本内容不多但很实用的 C++ 入门书籍,强调快速上手与理解 C++ 编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。

《C++ Primer》

本书对 C++ 基本概念、技术、以及现代 C++ 编程风格进行了全面而且权威的阐述,是 C++ 初学者的最佳指南;本书可以帮助你编写实用的程序,而无需首先精通每个语言细节。对于中高级程序员,本书也是不可或缺的参考书。

阶段 2

《Effective C++》和《More effective C++》

作者是 Scott Meyers。你应该熟读它们,并清楚地理解每个项目。该书围绕 55 条准则,每一条都介绍了一个可让你写出更好的 C++ 程序代码的方法,并以特别设计过的例子详加讨论。

《Exceptional C++(C++编程剖析)》和《More exceptional C++》

这两本书中都包含了 40 个 C++ 编程问题,这些问题会让你磨练自己的技能,最终成为优秀的 C++ 程序员。这些问题是 Herb Sutter 精心挑选,与 ISO/ANSI C++ 官方标准相一致,帮助程序员在设计、架构和编码过程中保持良好的风格,从而使编写的 C++ 软件更健壮、更高效。

阶段 3

《Inside the C++ object model(深度探索 C++ 对象模型)》

本书专注于 C++ 面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承,帮助你理解程序的底层实现,以便写出更高效的代码。

《The design and evolution of C++(C++语言的设计与演化)》

本书作者也是 C++ 语言的设计者 Bjarne Stroustrup,作者在书中综合性地介绍了 C++ 的发展历史,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了 C++ 所适合的应用领域及其未来的发展前景,既没有忽略关键性的详情,又没有过多地陷入技术细节。

阶段 4

《The C++ standard library(C++标准程序库)》

这是标准模板库字典,你可以在本书中找到 STL 相关的一切知识。本书焦点放在标准模板库、检查容器、迭代器、函数对象和 STL 算法上。每一个元素都有深刻的呈现,包括其介绍、设计、运用实例、细节解说、陷阱、意想不到的危险,以及相关类别和函数等。

《Effective STL》

这是 Scott Meyers 的第三本 C++ 专著,也是学习 STL 最权威的书籍。作者对书中的 50 个指导方针都作了详尽的分析,并配以示例。通过这些规则,C++开发者可以最大限度地使用 STL。

《Generic programming and the STL(泛型编程与 STL)》

本书阐述了泛型程序设计的核心理念:concepts(概念)、modeling(模型)和 refinement(改善),并为你展示这些观念如何导出 STL 的基础概念:iterators(迭代器)、containers(容器)和 function objects(函数对象)。按照本书所述,你可以把 STL 想象成一个由 concepts 组成的 library,你将学习到 STL 正式结构并理解其强大的优势。

阶段 5

《Exceptional C++ style》

作者为 Herb Sutter。本书同样提出了 40 个 C++ 风格相关的问题,对一些至关重要的 C++ 细节和相互关系提出了新的见解,为当今的关键 C++ 编程技术(如泛型编程、STL、异常安全等)提供了新的策略,帮助开发者在开销与功能之间、优雅与可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。

《C++ template》

这是一本关于 C++ 模板的完整的参考手册和教程,它强调模板的使用实践,包含了现实世界中的例子。每个 C++ 程序员都应该好好读一读这本书。

《Modern C++ design(现代 C++ 设计)》

作者 Andrei Alexandrescu 为 C++ 程序员打开了一个新的局面。本书提供了一些针对软件设计的前沿方法,如联合设计模式、泛型编程,使程序员可以编写有表现力的、灵活的、高度可重用的代码。

《Thinking in C++(C++编程思想)》

C++ 领域权威著作,介绍了 C++ 实用的编程技术和最佳的实践方法。

© 著作权归作者所有

上一篇: keywords in my life
下一篇: 素数&&Miller_Rabbin
N3verL4nd
粉丝 1
博文 379
码字总数 481243
作品 0
朝阳
私信 提问
最常被程序员们谎称读过的计算机书籍

马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。 在Stack Overflow(以及其它很多软件论坛)上,诸如”程...

景德真人
2012/04/09
10.8K
70
在Windows下面進行LLVM與CLANG的安裝

需要環境 本文假設你已經有下面的工具安裝在系統中,並且可以正確的使用。 SVN client (這是為了抓最新的llvm與clang的source code) cmake mingw32 用SVN下載source code 假設我們要將所有的...

红薯
2012/11/26
11.8K
6
哪本书是对程序员最有影响、每个程序员都该阅读的书?

国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响、每个程序员都该阅读的书?, 这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加)...

athxy
2013/05/08
1K
11
列一份跨平台开发的读书清单[C/C++ (or Java?)]

如果要开一份跨平台开发的读书清单: 0. 深入理解计算机系统 将它列为0,实在是因为它是一本从程序员的角度去解释一个计算机系统。它解释了一些最基本的东西。 1. Unix环境高级编程 如果觉得...

晨曦之光
2012/04/12
167
0
WINDOWS 7 配置驱动开发环境(wdk7.60)

安装VS2010,WDK7.60(GRMWDKEN7600_1) 2. 新建VC 控制台项目(选择为空项目) 3. 新建项目配置“driver” ,点击下拉按钮-点击(配置管理器) 输入名称(driver)点击确定就可以了,其他的不要...

hsmw
2014/02/25
125
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.1K
14
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
38
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
40
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
61
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部