В большом проекте Qt, в котором много Qt и заголовков проекта включены в каждый файл, легко:
- включить дополнительные файлы Qt, которые не нужно включать, потому чтоони уже включены в другой файл Qt (например,
qbytearray.h
включен в qstring.h
). - не забудьте включить необходимые файлы Qt, потому что они уже включены в другие включенные файлы проекта (например,компилятор находит
qstring.h
, включенный в другой из ваших файлов, и не жалуется). - оставил включенные дополнительные файлы Qt, которые больше не нужны после модификации.
Я былтакже читая, что даже с современными компиляторами лучше включить необходимые файлы и только те, вместо простого способа включения более общих заголовков, таких как QtCore
и QtGui
.
Правило кажется простым: включайте только все, что вам нужно, и не зависите от других включаемых файлов на случай, если они изменятся в будущем (например, qstring.h
не может использоватьсяqbytearray.h
больше, что также верно для файлов проекта), но это не так легко достичь.И Qt Creator не сильно помогает в этом, потому что когда вы начинаете писать QStr...
, он автоматически завершается с QString
и компилируется, и вы даже не удивляетесь, почему и не подумаете о включении заголовка.
Есть ли список зависимостей заголовков Qt, или автоматический инструмент Qt, или правило, или что-то еще, чтобы убедиться, что я выбрал все нужные мне заголовки и больше ничего?Вопрос общий к C / C ++, способу получения оптимальной зависимости заголовка.