07/04/06 12:27:57
>>492
勘弁してくれ。
その方針じゃ、必要のないインクルードファイルまで全部インクルードする羽目になる。
標準インクルードも片端からインクルードすることになるジャマイカ。
例えば20本くらいのソースのうち、時間(time_t)を取り扱う関数がソースAにあるとする。
それを利用するのは、ソースBとソースCだけだとする。
ソースD以下はtime_tなど全く頓着する必要はないのだが、プロトタイプが全部共通だと
全てのソースでtime.hをインクルードすることになるということだ。
time_tならそんな心配はないだろうが、環境によっては他とぶつかる可能性のある
マクロを定義しているインクルードファイルもあるだろう。
#たとえばBoolという定数マクロと関数マクロがぶつかることがあるOSの標準インクルードで実際にあった。
>493が言うように、きちんとモジュール化していたらそんなことになるはずないんだがな。
#つーか、C++でクラス設計していたら有り得ないだろ。