Зачем нужно предварительные объявления классов в заголовочном файле?
#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>
и пр., что потенциально может ускорить компиляцию этих других файлов.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Если я правильно понял проблему, то она заключается в том, что я не ставлю некоторые числа на правильное местоНо я не знаю, как исправить эту...
Есть массив русских буквНужно работать с элементами этого массива, также как и с обычными английскими буквами
Задача - удалённый мониторинг рабочего стола сотрудникаДля передачи через сокет нужен строковый буфер с jpeg-снимком всего того, что происходит...