Зачем нужно предварительные объявления классов в заголовочном файле?
#ifndef UIBLUE
#define UIBLUE
#include QDialog
class QCheckBox;
class QLable;
class QLineEdit;
class UiBlue : public QDialog
{
Q_OBJECT
};
#endif // UIBLUE
Если ваш заголовочный файл uiblue.h
(я предполагаю, что он так называется), использует класс QCheckBox
(и т.п.) только для того, чтобы объявлять указатели/ссылки на этот класс и не пытается доступаться к членам этого класса, то вы можете попробовать сэкономить на времени компиляции. А именно, вы можете не включать заголовочный файл <QCheckBox>
в ваш заголовочный файл, а просто выполнить предварительные объявления класса QCheckBox
и других требуемых классов, как это сделано в вашем примере.
Включить <QCheckBox>
куда-то потом вам все таки придется, но при соответствующей организации определения методов вашего класса UiBlue
, включить <QCheckBox>
вам придется только в файл(ы) реализации класса UiBlue
, которые работают с внутренностями класса QCheckBox
. Скажем, это будет файл uiblue.cpp
.
Таким образом другие файлы вашего проекта, которые включают в себя uiblue.h
, не будут тем самым вызвать еще и косвенного включения заголовочных файлов <QCheckBox>
, <QLineEdit>
и пр., что потенциально может ускорить компиляцию этих других файлов.
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Если я правильно понял проблему, то она заключается в том, что я не ставлю некоторые числа на правильное местоНо я не знаю, как исправить эту...
Есть массив русских буквНужно работать с элементами этого массива, также как и с обычными английскими буквами
Задача - удалённый мониторинг рабочего стола сотрудникаДля передачи через сокет нужен строковый буфер с jpeg-снимком всего того, что происходит...