在使用前置声明时,只能使用指针或者引用,因为在这个时候是不需要进行类大小计算的,如果涉及到需要进行类大小计算的时候,则不能使用前置声明,而需要包含类定义的头文件。在编写代码中经常使用前置声明来使我们的.h中包含的.h尽可能的少,将.h中尽可能的放到cpp中。
例如:a.h中要用到B,如果使用前置声明,只需要在a.h中声明一下,不需要包含B的.h,而将.h放在我们实现的cpp中。这样可以减少头文件的包含,减少编译不必要的代码,
提高编译速度
a.h
struct B;
struct A
{
private:
void get(B& b);
private:
B& b;
};