《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):卷帙浩繁,作者视之为全书不可分割的组成部分

关键认识

  1. 本书是 1997 年 ISO/ANSI C++ 标准定稿后的第一部权威著作,分部结构体现 Stroustrup 的四段教育法:导论(巡览)→ 基本设施(C 子集+组织)→ 抽象机制(OOP+泛型)→ 标准库 → 设计方法。
  2. 附录把”文法、C 兼容性、技术细节、索引”列为 integral part,说明本书定位是语言规范级的参考书而非入门教程。
  3. Part I 特意把 C 子集与 C++ 附加支持并列讲解——学习路径上先掌握”带类的 C”,再进入抽象机制。
  4. 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,可用于快速定位其他分卷内容。

关联