この質問は理想主義的な観点からのものです。// 前方宣言
私はメイクファイルの基本を学んでいて、ヘッダーの依存関係についてここで尋ねられたのと同じことを疑問に思っていることに気づきました。実用的な観点から、ヘッダーの依存関係の問題を解決するソリューションがあることを嬉しく思います。しかし、この質問についてもう少し考えてみると、ヘッダーの依存関係がコンパイル ユニットだけに影響を与えるのはなぜなのかと自問自答していることに気づきます。仮定の下で(前方宣言を参照)) 定義はヘッダーに含まれており、実装はソース ユニットで定義されていますが、それぞれのソース ファイルを変更せずにヘッダー ファイルを変更するメリットがある理由はありますか? そうでない場合、定義の変更だけではプログラムの実行に影響がないため、依存するソースユニットを再コンパイルすることさえ問題になるのはなぜですか? インターフェイス定義の変更のエラーを遅かれ早かれ特定するだけの問題ですか?