ヘッダーファイルに含まれるファイルの数を最小限に抑えることをお勧めします。したがって、選択肢があれば、ソースファイルに含めることをお勧めします。
ヘッダーファイルを変更する場合は、このヘッダーファイルを含むすべてのファイルを再コンパイルする必要があります。
したがって、cucumber.h
includes knife.h
、main.cpp
includes cucumber.h
、およびを変更した場合knife.h
、すべてのファイルが再コンパイルされます(、、cucumber.cpp
およびknife.cpp
)main.cpp
。
includeとcucumber.cpp
includesの場合、を変更すると、とのみが再コンパイルされるため、コンパイル時間が短縮されます。knife.h
main.cpp
cucumber.h
knife.h
cucumber.cpp
knife.cpp
きゅうりにナイフを使用する必要がある場合は、次のように進めることができます。
// Cucumber.hpp
#ifndef CUCUMBER_HPP
#define CUCUMBER_HPP
class Knife;
class Cucumber
{
public :
///...
private :
Knife* myKnife
}
#endif
//Cucumber.cpp
#include "Cucumber.hpp"
#include "Knife.hpp
// .. your code here
この「トリック」は「前方宣言」と呼ばれます。これは、コンパイル時間を最小限に抑えたいC++開発者のよく知られたトリックです。