QT_FORWARD_DECLARE_CLASS <->Qt 中的前置声明类
我们在学习Qt自带的demo时,很多时候会看到这个宏,也就是c++的前置声明宏
在学习过程中我们会有以下疑问?
1.什么是前置声明?
前置声明:即类、函数和模板的声明,无定义.
2.为什么要使用前置声明?前置声明有什么优点、缺点?
①因为前置声明可以节省编译时间。
②优点: #include 会使编译器展开对应头文件的所有内容进行编译。
前置声明只需要编译你用到的部分(一般是一个指针,指向你所指的内容部分)即可。
③缺点:当你修改了源码时,可能不重新编译你所修改的内容。所以,我们在写一些库,或者一些大型一点的工程,基本不建议使用前置声明
3.一定要用么?可以不用吗?如果不用前置声明的话,怎么做会比较安全?
不一定。可以,如果不用前置声明的话,你需要在你的*.h文件里用#include添加你需要类、函数或模板头文件即可。
tips
不是很熟悉的程序猿尽可能地避免使用前置声明。使用 #include 包含需要的头文件即可。
版权声明:本文为qq_42815643原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。