C / C ++プロジェクト間の.hファイルと.incファイルの違い
H Inc Files Difference Between C C Project
元の質問: cの.hファイルと.incファイルの違い
C / C ++の標準的な方法は、.hファイルに記述された関数である情報クラスを宣言することです。達成する.cファイル書き込みクラス、関数の実現、変数の定義など。ただし、テンプレートの場合、それはクラスでも関数でもありませんが、何かのクラスまたは関数のセットを生成できます。コードを生成するためのコンパイラー(コンパイラー)テンプレートでは、ステートメント(宣言)と定義(定義)を確認する必要があるため、内部の.hに含めないでください。
定義を分離してステートメントを作成するために、内部ドキュメント、つまり.incファイルで下痢の定義を作成し、最後の.hファイルに含めます。もちろん、.inc形式に加えて、.inc
、.imp
、.impl
、.tpp
などの他の多くの表現がある場合があります。
英語の元の答え
.inc
多くの場合、ファイルはテンプレート化されたクラスおよび関数に関連付けられています。標準のクラスと関数は
.h
で宣言されますファイルを作成し、.cpp
で定義しますファイル。ただし、テンプレートはクラスでも関数でもありませんが、クラスまたは関数のファミリーを生成するために使用されるパターンです。コンパイラーがテンプレートのコードを生成するには、宣言と定義の両方を確認する必要があるため、両方を.h
に含める必要があります。ファイル。宣言と定義を分離しておくために、定義は独自のファイルに配置され、
.h
の最後に含まれます。ファイル。このファイルには、多くの可能なファイル拡張子.inc
、.imp
、.impl
、.tpp
などのいずれかが含まれます。
宣言の例:
// Foo.h #ifndef FOO_H #define FOO_H template class Foo { public: Foo() void DoSomething(T x) private: T x } #include 'Foo.inc' #endif // FOO_H
定義例:
// Foo.inc #include 'Foo.h' template Foo::Foo() { // ... } template void Foo::DoSomething(T x) { // ... }