前言
Foundation项目:为了构建大系统而努力定义的一个新的开发模型。
ALF:一种一面对象层次结构,提供一个永久的、以语意为基础的表现法。
Simplifier的工作:转换内部的程序表现。
任何对象模型都需要的转换风味(?):
1. 与编译器息息相关的转换(Implementation-dependent transformations)
2. 语言语意转换(Language semantics transformations)
3. 程序代码和对象模型的转换(Code and object model transformations)
什么是C++对象模型
- 语言中直接支持面向对象程序设计的部分。——C++ Primer中介绍
- 对于各种支持的底层实现机制。——本书关注
书籍结构
- 第1章,关于对象(Object Lessons),提供以对象为基础的观念背景,以及由C++提供的面向对象程序设计范式(paradigm)。本章包括对对象模型的一个概述,说明目前普及的工业产品。
- 第2章,构造函数语意学(The Semantics of Constructors),详细讨论constructor如何工作。
- 第3章,Data语意学,讨论data members的处理。
- 第4章,Function语意学,专注与各式各样的member functions,尤其是virtual functions。
- 第5章,构造、析构、拷贝语意学,讨论如何支持class模型,讨论object的生命期。
- 第6章,执行期语意学,查看执行期的某些对象模型行为。包括临时性对象的生命及其死亡,以及对new运算符和delete运算符的支持。
- 第7章,在对象模型的尖端(On the Cusp of the Object Model),专注于exception handling,template support,runtime type identification。
导读
略