私は対応する.hと.cppを持つクラスFooを持っています。どちらのファイルもstd :: stringを使用しています。ヘッダーには#include <string>
のみ、または両方のファイルに含める必要がありますか?ヘッダーをクラスヘッダーと実装に含めますか?
3
A
答えて
6
ヘッダーが前方宣言で取り除かれた場合は、ヘッダーと実装ファイルの#includeに常に使用します。 (FDは参照型とポインタ型に使用できます)。
両方が必要な場合、私は両方にそれらを入れることが多いので、ヘッダーが変更された場合は.hから削除できます。
0
あなたは、ポインタを使用することができますときに ...など、あなたが複数の混入を避けるため、宣言を前方に使用することをお勧めしますができれば円形含めることは、前方宣言を配置し、他のすべての.CPP 内のファイルを含んでいます.h(ポインタや参照を使用していないときやクラスから派生したとき).hに直接インクルードする場合。
2
私は頻繁に変更するつもりはないので、プリコンパイル済みヘッダーには<string>
が含まれています。 。主なルールは、私が頻繁に変更しないすべてのヘッダは、STD、システムヘッダ、安定したサードパーティライブラリなどに含まれています(プロジェクトのサイズに依存します。 "決して")。他のヘッダについては
私はこれを追加するための@111111's answer
関連する問題
- 1. 異なるヘッダーを含めるときに、C実装が暗黙的に標準ヘッダーを含めることはできますか?
- 2. フォームグループ内にヘッダーを含めることはできますか?
- 3. angularjsに行ヘッダーと列ヘッダーの両方を持つテーブルを実装します
- 4. 実装ファイルがないときにヘッダファイルを含める?
- 5. ヘッダーを含むプロジェクトにヘッダーを含めることなくヘッダーにインクルードする方法
- 6. 実装ファイル(C++)対ヘッダー内のファイルを含む
- 7. C++クラスのヘッダーと実装エラー
- 8. インスタンス変数。ヘッダーと実装の比較
- 9. JTable行ヘッダーの実装
- 10. Objective Cヘッダー(実装あり)
- 11. Clang/LLVMにC++ 11ヘッダーを含める
- 12. ヘッダーと実装ファイルを同時に追加する
- 13. Android NDK - 別のヘッダーにC++ヘッダーを含める?
- 14. IEnumerableを実装するasync/awaitタスクを含める
- 15. ParameterValuesを含むエントリをフィルタリングするためのITransformableFilterValuesの実装
- 16. C++クラスヘッダーが含まれていると、「不明な型」が存在するのはなぜですか?
- 17. プライベートデータのヘッダーだけを.hファイルに含めます。
- 18. ヘッダー付きイメージをPHPに含めます
- 19. JqGridヘッダーをオーバーライドするJqGridヘッダーをダブルクリックまたは実装する
- 20. CMakeにライブラリを含むヘッダーを含める
- 21. 複数のページに独自のCSSを含むヘッダーを含めること
- 22. CMakelist.txtがフォルダーに外部ヘッダーとファイルを含める(boost in odeint)
- 23. 他のPHPページにリンクし、ヘッダーとフッターを含める
- 24. Objective-CプロジェクトにC++ヘッダーを含めると、 "Expected * Before *"エラーが発生します。
- 25. 固定ヘッダーと固定列でUITableViewを実装する
- 26. 私のウェブサイトに定数ヘッダー/フッターを実装していますか?
- 27. ヘッダーとフッターをテンプレートとして含めるのは悪いですか?
- 28. フォーム提出時にいくつかのヘッダーを含める
- 29. DXTraceにはどのヘッダーを含める必要がありますか?
- 30. ヘッダーではなくページのフッターにJSスクリプトを含めますか?
感謝を可決しました。ほんとうにありがとう。 – flumpb