ヘッダー ファイル内の C 定義の配置: それは一般的な慣行ですか?
C プログラミングの領域では、クラスの配置宣言と定義は議論を引き起こしました。従来、これらの側面をそれぞれインクルード ファイルと *.cpp ファイルに分割するのが標準でした。しかし、同僚は、現在のベスト プラクティスでは、ヘッダー ファイル内に定義を含めることが求められていると主張しています。
この新しいイディオムとされるものの普及状況を評価するために、C 開発における広範な使用パターンを調べてみましょう。
従来のアプローチ: 宣言と宣言を分離する定義
無数の C 開発者が、インクルード ファイル (.h) でクラスを宣言し、.cpp ファイルでその定義を実装するという従来のスタイルを遵守しています。この実践は、Modula-2 および Ada における仕様ファイルと本体ファイルの分離に似ています。
利点:
ヘッダーのみ定義: 代替
一部のインスタンスでは、特にヘッダー ファイルに定義を配置することが正当化される場合があります。インライン化などのコンパイラの最適化を強化します。ただし、このアプローチの採用には次のような欠点があります。
ヘッダーのみの定義が適切な場合
ヘッダーのみの定義が本当に有利となる唯一のシナリオは、テンプレートを使用する場合です。最近の C ライブラリはテンプレートを広範囲に使用しており、ヘッダーのみの定義が必要です。
結論:
すべての C 宣言をヘッダー ファイル内で定義する必要があるという同僚の主張はサポートされていません。一般的な慣例によって。ヘッダーのみの定義には特殊な用途がありますが、宣言と定義を分離する確立されたアプローチは依然として広く受け入れられている標準です。
以上がC クラス定義はヘッダー ファイルに配置する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。