C++
程序设计之四书
五经(上篇)
C++是一门广泛用于工业软件研发的大型
语言。它自身的复杂性和解决现实问题的能力,
使其极具学术研究价值和工业价值。和 C
语言一样,C++已经在许多重要的领域大获成功。
然而,一个不可否认的现实是,在低阶
程序设计领域,C++挤压着 C 同时也在承受着 C 的
强烈反弹,而在高阶
程序设计领域,Java 和 C#正在不断蚕食着 C++的地盘。也许 C++
与 C 合为一体永远都是一个梦想,也许 Java 和 C#的狂潮终将迫使 C++回归本位 — 回
到它有着根本性优势的开发领域:低级系统
程序设计、高级大规模高性能应用
设计、嵌入式
程序设计以及数值科学计算等。果真如此,我认为这未尝不是一件好事。
C++吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软件产品、程
序库以及书籍等,数不胜数。文题“C++
程序设计之四书
五经”一个不太严格的含义是:C++
程序设计之四书 ⅹ
五经。是的,在本文(及其下篇)中,我将分门别类推荐 20 多本 C++
好书,你可以根据自己的需要选读。
TCPL 和 D&E
TCPL 和 D&E 分别是《The C++ Programming Language》和《The Design and
Evolution of C++》的简称,均出自 Bjarne Stroustrup 之手。我将它们单列出来,首
先是因为 Bjarne 是 C++
语言的创建者,然后是因为比“首先”那个原因更重要的原因:这
两本书是 C++领域毋庸置疑的杰作。说它们是 C++
语言圣经,并不为过。
Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition)
《C++
程序设计语言(特别版)》,机械工业出版社
《C++
程序设计语言(特别版)(英文影印版)》,高等教育出版社
迄今为止,TCPL 是除了 C++标准文献之外最权威的 C++参考手册。和大多数人的看法不
大一样,我认为 Bjarne 的文字
语言并不逊色于他所创建的
程序语言,至少我喜欢这种学院
气息浓厚的作品。本书对 C++
语言的描述轮廓鲜明、直截了当。它从 C++
语言创建者的
角度来观察 C++,这是任何别的作者和书籍做不到的 — 没有任何人比 Bjarne 自己更清
楚该怎么来使用 C++。
这是一本严肃的著作,以中、高级 C++开发人员为目标读者。如果你是一名有经验的 C++
程序员,需要了解更加本质的 C++知识,本书正是为你而写。它不是那种让你看了会不断
窃喜的小书,需要用心体会,反复咀嚼。在阅读过程中,请特别留心 Bjarne 先生强调了什
么,又对什么一语带过。我个人比较喜欢这本书的第四部分“使用 C++做
设计”,这样的内
容在类似的
程序设计语言书籍中很难看到 — 我甚至认为Bjarne应该将这部分独立出来单
独写一本书。
Bjarne Stroustrup, The Design and Evolution of C++
《C++
语言的
设计和演化》,机械工业出版社
《C++
语言的
设计和演化(英文版)》,机械工业出版社
D&E 是一本关于 C++
语言设计原理、
设计决策和
设计哲学的专著。它清晰地回答了 C++
为什么会成为今天这个样子而没有变成另外一种
语言。作为 C++
语言的创建者,Bjarne
淋漓尽致地展示了他独到而深刻的见解。除了广受赞誉的
语言特性外,Bjarne 没有回避那
些引起争议的甚至被拒绝的 C++特性,他一一给出了逻辑严密、令人信服的解释。内容涵