1.如果使用object reference或object pointers可以完成任务,就不要使用objects。你可以只靠一个类型声明式就定义出指向该类型的references和pointers;但如果定义某类型的objects,就需要用到该类型的定义式。
2.如果能够,尽量以class声明式替换class定义式。注意,当你生命一个函数而它用大某个class时,你并不需要改class的定义;总是函数以by value方式传递该类型的参数(或返回值)亦然。
3.为声明式和定义式提供不同的头文件。
总结:
1.支持“编译依存性最小化”的一般构想是:相依于声明式,不要依存于定义式。基于此构想的两个手段是handle classes和interface classes。
2.程序库头文件应该以“完全且仅有声明式”的形式存在。这种做法不论是否涉及templates都适用。