上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
前言
自本教材的第3版于2015年出版以来已经过去7年了,根据我们的教学实践以及广大读者的反馈意见,我们对第3版内容进行了修订。
第4版的变动主要体现在以下几个方面。
1)增加了对函数式程序设计的介绍(10.4节)。函数式程序设计属于一种声明式程序设计范式,只需要对“做什么”进行描述,而不需要给出具体的操作步骤,它带来的好处是设计出的程序比较精练且具有潜在的并行性。虽然函数式程序设计不是现在的主流程序设计范式,但在程序的局部设计中经常会用到,在C++中主要是通过STL提供对函数式程序设计的支持。
2)加强了对类之间的聚合/组合关系的介绍(7.5节),以满足一些不采用继承机制的对象式编程模型对类的复用需求。
3)对第11章(事件驱动的程序设计)进行了重新定位,以突出事件驱动的程序设计思想和基于应用框架的程序复用技术。
4)针对C++新的国际标准(C++11及以后版本),增加了一些对程序设计有良好支持的内容,其中包括类型自动推断auto、基于范围的for语句等,以提高程序的抽象程度。
5)从程序设计的角度,重新梳理了教材各部分的逻辑和文字描述,使得教材内容的安排更合理,可读性更好。书中加“*”标记的内容在初次阅读时可以跳过。
最后,感谢南京大学程序设计课程组的各位老师,他们在教学过程中不断发现教材的不足之处,并提出了很多很好的建议。特别感谢黄书剑老师,在教材的函数式程序设计部分的编写中,他帮助我们厘清了一些模糊的地方。另外,还要感谢策划编辑一直以来对教材的关心与支持,她对教材第4版的编写提出了诸多很好的建议。
作者于南京大学
2021年10月