首先是第二次做这种题了。大概分析下吧:
1、无前置声明,直接包含头文件调用。(当包含的头文件出现变化时,编译器就必须重新对包含文件重新编译)
2、我来说明下前置声明后的情况
分析对象:
前置的意义不大,编译器编译的时候首先对声明的对象分配大小内存,即使有了前置声明,
它还是会访问一次头文件的定义,来分配大小。
而且,对于类的方法调用始终是要通过类的定义来的。
作者对于这种情况做了一个处理,我觉得。。。(把调用类分成提供类和实现类两个接口)
分析指针:
首先编译期间的内存分配就解决了。只要你不调用方法,就永远不会访问定义。
大大节省了编译时间。
同时,这也是头文件互相包含的解决方案。
所以建议。使用类指针,有前置声明习惯。类对象,看你自己办!