同じヘッダーファイルを複数回インクルードすると、コンパイル時間が長くなりますか?
たとえば、プロジェクト内のすべてのファイルがとを使用する<iostream>
<string>
<vector>
とし<algorithm>
ます。また、ソースコードに多くのファイルを含めると、コンパイル時間が長くなりますか?
ガードヘッダーは二重定義を回避するという重要な目的を果たしていると常に思っていましたが、副産物として二重コードも排除されています。
実際、私が知っている誰かが、そのような複数の包含を削除するためのいくつかのアイデアを提案しました。ただし、これらはC++の優れた設計手法に完全に反していると思います。しかし、彼が変更を提案する理由は何でしょうか?