c++/Qt/前置声明/QT_FORWARD_DECLARE_CLASS

  • Post author:
  • Post category:其他


QT_FORWARD_DECLARE_CLASS <->Qt 中的前置声明类

我们在学习Qt自带的demo时,很多时候会看到这个宏,也就是c++的前置声明宏

在学习过程中我们会有以下疑问?

1.什么是前置声明?

前置声明:即类、函数和模板的声明,无定义.

2.为什么要使用前置声明?前置声明有什么优点、缺点?

①因为前置声明可以节省编译时间。

②优点: #include 会使编译器展开对应头文件的所有内容进行编译。

前置声明只需要编译你用到的部分(一般是一个指针,指向你所指的内容部分)即可。

③缺点:当你修改了源码时,可能不重新编译你所修改的内容。所以,我们在写一些库,或者一些大型一点的工程,基本不建议使用前置声明

3.一定要用么?可以不用吗?如果不用前置声明的话,怎么做会比较安全?

不一定。可以,如果不用前置声明的话,你需要在你的*.h文件里用#include添加你需要类、函数或模板头文件即可。

tips

不是很熟悉的程序猿尽可能地避免使用前置声明。使用 #include 包含需要的头文件即可。



版权声明:本文为qq_42815643原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。