通过类句柄减少编译次数
当一个项目的类的头文件包含了另一个类,但是如果修改了另一个类,那么所以包含这个类的所有类都要重新编译,这样导致项目编译次数增多,浪费资源。通过类句柄可以解决这个问题。
例子:
//handle.h
class handle
{
class cheshire; //这就是类句柄,声明了handle类有一个cheshire的类,但没有定义
cheshire *c; //使用cheshire类声明一个变量
public:
void init();
void read();
}
//另外一个文件:handle.cpp
class handle::cheshire
{
//数据成员
//函数成员
}
void handle::init()
{
//init的实现
}
//。。。。
这样就使得当class cheshire的数据成员和函数成员修改了也只是编译handle.cpp一次,不会使得所有包含handle.h的类都重新编译一次。
如果handle.h是包含了一个头文件cheshire.h,那么cheshire类改变了数据成员或函数成员,都导致所有包含handle.h的类都要重新编译一次