《The C++ Programming Language, 3rd Edition》-全书分部结构(导论 / Part I-IV / 附录)
来源:田浩然上传的云盘电子书《The C++ Programming Language, Third Edition》(Bjarne Stroustrup, 1997, Addison Wesley Longman, ISBN 0-201-88954-4)。该书在云盘被拆成十几个小 PDF 分卷,本笔记覆盖其中六个”分部扉页”文件:Introduction、Part I、Part II、Part III、Part IV、Appendices。每个文件仅 2 页,为该部分的开篇页+章节清单。
全书五大分部结构(据扉页归纳)
Introduction — 导论(起始页 2)
概览 C++ 语言与标准库的主要概念和特性;提供本书导览并说明描述语言设施及其使用的方式;介绍 C++ 的背景、设计哲学与应用。
章节:
- 第1章 Notes to the Reader(致读者)
- 第2章 A Tour of C++(C++ 巡览)
- 第3章 A Tour of the Standard Library(标准库巡览)
扉页引语:Karen Blixen(Isak Dinesen)《Seven Gothic Tales》中《The Dreamers》——“要成为许多人,放下总做 Marcus Cocoza 的游戏……” 呼应”程序员应能采用多种角色/风格编程”的理念。
Part I — Basic Facilities(基本设施,起始页 68)
描述 C++ 内建类型及用它构造程序的基本设施;把 C++ 的 C 子集连同对传统编程风格的支持一起呈现;还讨论如何把程序组织成逻辑与物理部件。
章节:
- 第4章 Types and Declarations(类型与声明)
- 第5章 Pointers, Arrays, and Structures(指针、数组、结构)
- 第6章 Expressions and Statements(表达式与语句)
- 第7章 Functions(函数)
- 第8章 Namespaces and Exceptions(名字空间与异常)
- 第9章 Source Files and Programs(源文件与程序)
Part II — Abstraction Mechanisms(抽象机制,起始页 222)
描述定义和使用新类型的设施;即通常所说的面向对象编程与泛型编程技术。
章节:
- 第10章 Classes(类)
- 第11章 Operator Overloading(运算符重载)
- 第12章 Derived Classes(派生类)
- 第13章 Templates(模板)
- 第14章 Exception Handling(异常处理)
- 第15章 Class Hierarchies(类层次)
扉页引语(马基雅维利《君主论》§VI):”……没有什么比推动一种新秩序更困难、更成败难料、更危险的了,因为改革者使所有从旧秩序获利的人成为敌人,而只能得到那些将从新秩序获利者的冷淡支持……” —— 呼应 C++ 兼容与渐进演化的设计哲学。
Part III — The Standard Library(标准库,起始页 428)
描述 C++ 标准库:呈现库的设计与实现中的关键技术。目标是理解如何使用库、示范普遍有用的设计与编程技术、并展示如何按库的设计意图扩展它。
章节:
- 第16章 Library Organization and Containers(库的组织与容器)
- 第17章 Standard Containers(标准容器)
- 第18章 Algorithms and Function Objects(算法与函数对象)
- 第19章 Iterators and Allocators(迭代器与分配器)
- 第20章 Strings(字符串)
- 第21章 Streams(流)
- 第22章 Numerics(数值计算)
Part IV — Design Using C++(用 C++ 做设计,起始页 690)
在软件开发的更大图景中呈现 C++ 及其支持的技术,聚焦设计以及如何用语言构造有效实现设计。
章节:
- 第23章 Development and Design(开发与设计)
- 第24章 Design and Programming(设计与编程)
- 第25章 Roles of Classes(类的角色)
扉页引语:Charles Darwin——”……我现在才开始体会到把思想表达在纸面上的困难……”
附录与索引(Appendices,起始页 792)
- 附录A:C++ 文法(Grammar)
- 附录B:C++ 与 C、标准 C++ 与预标准版本之间的兼容性问题
- 附录C:语言技术细节(Technicalities)
- 索引(Index):卷帙浩繁,作者视之为全书不可分割的组成部分
关键认识
- 本书是 1997 年 ISO/ANSI C++ 标准定稿后的第一部权威著作,分部结构体现 Stroustrup 的四段教育法:导论(巡览)→ 基本设施(C 子集+组织)→ 抽象机制(OOP+泛型)→ 标准库 → 设计方法。
- 附录把”文法、C 兼容性、技术细节、索引”列为 integral part,说明本书定位是语言规范级的参考书而非入门教程。
- Part I 特意把 C 子集与 C++ 附加支持并列讲解——学习路径上先掌握”带类的 C”,再进入抽象机制。
- Part III 强调”按设计意图扩展库”——1997 年即把 STL 当作设计范本讲授(容器/算法/迭代器/分配器四章分立)。
可行动点
- 需要查 C++98 原始文法或 C/C++ 兼容性细节时,直接查云盘同目录
appendix/index分卷(本笔记证实附录在 792 页起)。 - 全书章节起始页锚点:导论 p.2、Part I p.68、Part II p.222、Part III p.428、Part IV p.690、附录 p.792,可用于快速定位其他分卷内容。
关联
- 云盘同目录还有 pref/opref/npref/title 等分卷(前言、序言、扉页),待后续消化。
- 相关笔记:面向对象技术-第17章案例-教学管理系统、Java程序设计-第2章-基本数据类型与运算-2008课件