include文

インクルード文っていうのは、「指定されたファイル(インクルードファイル)を#include文の位置に取り込む」という機能である。
つまり、インクルードファイルの拡張子が.hだろうが.cppだろうが動作は変わらないわけですよ。
けれど、学校では.hが推奨される。
これは、見た目でヘッダファイルとわかり易くするためか?
それともコンパイラ側で.hのインクルードファイルの場合、何か特別な動作をするのだろうか?
また、ヘッダファイルにおける多重インクルードの防止についてだが、わざわざこんなことをしなくても、多重インクルードしたら、コンパイラがエラーを吐いてくれます。他に何か重要な要素があるのだろうか?
なんとなく、「あらゆるコンパイラに対応するため」、「スタイル的に美しいから」という理由な気はしますが。
#ifndef、#endif文で多重インクルードを防止して、何が便利かというと、「多重インクルードしてもエラーが出なくなる」ことですね。これ以外に何か理由あるの?
俺としては、多重インクルードしてるのにエラーを出さないようにする方が、スタイルとして美しくないと思うんだが・・・・。
あと、コーディングスタイルとして、ヘッダファイルの中でさらにインクルード文を使用して、ヘッダファイルを読み込むというやり方は、良い方法なのかな?
このやり方だと、新規にファイル作るときに1つのヘッダファイルを読み込むインクルード文を記述するだけで良いけれど、ベースとなるヘッダファイルのなかで読み込んでいるヘッダファイルのいずれかに変更があっただけでも、そのヘッダファイルを使っていないソースファイルに対してもコンパイルし直さなきゃならないから、非効率ではあると思う。
多分、「ヘッダファイルは各ソースファイルで必要な分だけ記述する」というのが美しいやり方っぽいですな。
このあたりの部分を、今度、講師に確認してみるとするか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です