私が取り組んでいるC ++プロジェクトのインクルードをクリーンアップしていますが、特定のファイルで直接使用されるすべてのヘッダーを明示的にインクルードする必要があるのか、最低限だけインクルードする必要があるのか疑問に思っています。
以下に例を示しEntity.hppます。
#include "RenderObject.hpp"
#include "Texture.hpp"
struct Entity {
Texture texture;
RenderObject render();
}
(の前方宣言RenderObjectはオプションではないと仮定しましょう。)
今、私はそれがRenderObject.hpp含まれていることを知っていますTexture.hpp-私はそれぞれRenderObjectがTextureメンバーを持っているのでそれを知っています。それでも、私は明示的に含めるTexture.hppにはEntity.hpp、それはそれはに含まれているに依存することをお勧めします場合、私はわからないので、RenderObject.hpp。
だから:それは良い習慣ですか?
#ifndef _RENDER_H #define _RENDER_H ... #endif。
#pragma once解決しましたか?