- C++程序设计(第3版)
- (美)瑞克·莫瑟
- 1105字
- 2025-04-18 08:31:02
本书特色
● 涵盖传统话题:本书致力于利用面向对象编程的相关性和有效性来介绍计算基础概念。在这个过程中,我们也会涉及一些C++的特性,它们也会被我们归为传统话题的一部分,比如在前两章中,我们就会涉及泛型类的模板、带迭代器的标准容器。
● 遵循C++标准:由于国际标准化组织(International Standards Organization,ISO)在多年前就已经批准了C++的标准文档,所以学生们现在可以将自己所学习的C++视为一门具有国际公认标准的编程语言了。当然,直到作者撰写本书的这一刻为止,C++14标准依然没有得到所有编译器的完全支持。正因为考虑到这一点,并且C++14标准实际上所添加的内容也超出了本书要讨论的范围,我们打算在这本书中只使用C++11中的元素。不过读者也不用太担心,由于任何较新的版本基本上都是向后兼容的,所以我们当然也可以使用支持C++14或者更新版本的编译器来编译本书的代码。
● 先讲对象:在第3 版中,我们保留之前两个版本先讲对象的方法。学生依然可以从string、cin、cout、BankAccount和Grid这些现有的对象入手,来锻练解决问题的能力和编程开发的技能。学生将会在这个过程中不断地修改、增强、提出最终设计并实现他们那些日益复杂的类。
● 精心安排的教学内容:由于使用本书的大多数学生只有很少的编程经验,甚至完全没有编程、设计方面的经验,所以不宜让他们一上来就与某些C++特性和细节纠缠不清。因此,我们选择让学生先专注于那些能丰富语言表达能力的部分,一些隐晦难懂的问题都被推迟到了最后几章中。例如,对于如何以向量、指针为元素的向量上执行嵌套循环、如何进行动态内存管理以及如何处理单向链表数据结构这类问题,我们都将其放到了本书的最后两章。
● 无须特定的C系统:我们对操作系统和编译器没有特定的偏好。本书所使用的都是符合ISO标准的#include和命名空间,所有的材料都可以在任何支持C++标准的编译器系统中使用,并且所有代码都曾在Windows的Microsoft Visual C++和UNIX的GNU g++中通过了测试。
● 引入算法模式:算法模式能很好地帮助那些编程初学者根据一些常见的算法通用原则来设计算法。比如我们将在第1 章中介绍的第一个算法模式,可能也是我们最古老的模式之一:输入—处理—输出(IPO)模式,我们在后续章节中会一直用到它。毕竟,IPO模式对于没有编程经验的学生和实验室里的那些助理是很有帮助的。除此之外,我们还会在适当的场景中介绍Alternative Action、Indeterminate Loop等其他算法模式。
● 在教室和实验室中经历了广泛的测试:本书出版6 年来,我们收到了学生们对书稿的表达清晰度、组织结构、项目和示例等各个层面上的许多批评和建议,这让我们受益良多,也让我们更有能力让所有学生都能在封闭的实验环境中得到非常好的实践和测试体验。
● 教学辅助资源齐全:我们将本书中大部分的C++代码,以及相关PPT都提炼出来,读者可以自行从异步社区下载到自己想要的资源。