【31】将文件间的编译依存关系降至最低
1、一般情况下,使用一个东西,只要说我有这个东西就行了,不需要定义。但是,对于类,必须要有定义,为啥?
因为创建对象,需要知道分配多大空间,这种情况,必须询问类的定义式,才知道。
2、怎么解决上面的问题?
问题的关键是,必须知道对象占用多大空间。可以这样做,使用指向实现的类(pimpl idom)。包含一个指向对象的指针,这种情况,不需要直到对象占用多大空间。
3、声明一个方法的时候,对于方法形参中的对象,不需要include类的定义,为什么?
这个事情是在调用端做的,方法声明端不需要inlucde。
4、还有一种办法是,采用接口,接口中没有字段。