用Qt编写C++时我应该做什么?只有2包括
#include <QtCore>
#include <QtGui>
Run Code Online (Sandbox Code Playgroud)
要么
#include <QWidget>
#include <QDialog>
#include <QList>
#include <QKeyEvent>
#include <QObject>
Run Code Online (Sandbox Code Playgroud)
每个班级?
谢谢!
dab*_*aid 11
只包括你需要的类的定义 - 其他任何东西不只是懒惰,它是非常浪费的,在我看来是糟糕的风格.
包括QtGui(其本身包括QtCore)将导致在您的编译中添加大约350(!)个头文件,在您的示例中您只需要6.编译将花费更长时间,当有人试图维护您的应用并浏览您的文件时他们无法从包含中推断每个文件/类正在尝试做什么 - 他们必须阅读整个源代码才能获得一个想法.
只需在课程中包含您需要的内容以加快编译速度.如果你是懒惰的人之一,并且无论编译需要多长时间,选择更通用的标题,但如果你正在寻找优化,请避免它们(编译器/链接器很可能删除未使用的东西,但它仍然是最好不要先包括它.
一般来说,如果我需要一些仍然缺失的东西(即尚未包括在内),我只会包含新内容.所以,只需点击编译.如果它遗漏了您忘记的内容,请添加标题.如果您不喜欢这种方法,请使用您提到的通用标头.