如果a.h不是自包含的,需要包含b.h才能编译,会带来的危害:

 

 

自包含:组件不依赖其他组件,能够以独立的方式供外部使用。

自包含是指在组件重用时不需要包含其他的可重用组件...如Web Service就是自包含组件,即它不需要依赖其他组件...

自描述是以元数据以非特定语言的方式描述在代码中定义的每一类型和成员...如.NET CLR就是自描述的,每个模块的元数据都包含与另一个模块进行交互所需的全部信息。元数据自动提供 COM 中 IDL 的功能,允许将一个文件同时用于定义和实现...