1. 当不需要调用类的实现时,包括构造函数
,拷贝构造函数,赋值操作,成员变量,甚至是 地址操作
时,就不用#include,只要前置声明就可以了。
2. 当要用到类的上面那些“方法”时,就要
#include。
详细请阅读原文:
http://blog.csdn.net/rogeryi/archive/2006/12/12/1439597.aspx
http://blog.csdn.net/SpriteLW/archive/2006/07/23/965702.aspx
一个应用:
将CXimage的多个动态链接库合并成一个动态链接库,并使得在外面调用的时候只需要包含我们生成的那个动态链接库。
具体操作就是在我们产生自己动态链接库的那个工程里面在头文件中使用前置声明(将用到的CXimage中的类都定义成指针),只在cpp文件中包含原本CXimage的头文件。
这个自己是根据项目中前辈的代码总结的,没有得到证实,不过我认为应该是这样的。