多くのインクルードを処理する方法を学び、コードを整理しようとしています。
私は Qt アプリケーションをプログラミングしており、一般的に使用される (変更されない) ファイルを "Util.h" というファイルに入れました。
Util.h
#pragma once
#include <Core/IObserver.h>
#include <Core/Math.h>
#include <QAction>
#include <QDockWidget.h>
#include <QFileDialog>
#include <QGraphicsBlurEffect>
#include <QLabel.h>
#include <QMainWindow.h>
#include <QMenu.h>
#include <QMessageBox.h>
#include <QShortcut.h>
#include <QSignalMapper>
#include <QSound>
#include <QString>
#include <QTimer.h>
#include <QTreeView>
#include <QStandardItemModel>
// Path to icons
#define ICON_PATH \
"../../Assets/GUI/Icons/"
これをほぼすべてのヘッダーファイルに含めます
#include "Util.h"
#include "Manager_Docks.h"
#include "Manager_Tools.h"
#include "Manager_Console.h"
#include "ui_MainWindow.h"
...
- それを行うより良い方法はありますか?
- これにより、コンパイル時間が大幅に遅くなりますか?
また、すべての.cppのみにUtil.hのみを含めることも考えており、ヘッダー ファイル用に別のHeader_Util.hを用意して、次のようにします。
Header_Util.h
#pragma once
class IObserver;
class QAction;
class QDockWidget;
class QFileDialog;
...
- これはより良い解決策ですか?
- また、precompiled headersというものがあることは承知していますが、自分は使ったことはありません。これはおそらく私の問題の解決策であり、調査すべきものですか? 違いがあれば、VS2012を使用してWindowsを使用しています。
- ...そしてすべての質問を要約します。あなたは私の代わりに何をしたでしょうか?