問題CPP00013の解答例と解説 C++ Lv.1

ヘッダーファイルの宣言(10分)



<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

これは問題文にある解答そのままだよ。std::cout、std::endl を使うためには、iostream というヘッダファイルを宣言する必要があるんだ。ヘッダファイルを宣言することを、ヘッダファイルをインクルードする、とも言うよ。

この後でプログラムするときも、必要な関数やクラスを使うときは、それに応じたヘッダファイルをインクルードする必要があるんだ。それは全部を覚える必要はなくて、随時、教科書やwebなどで調べればいいよ。

ヘッダフィルというのは、事前に配布されているライブラリ(.hとか.hppとかのテキストファイル)のことで、コンパイラがインストールされていれば標準的なライブラリは、たいてい用意されているので、HDD(ハードディスク)を探せば見つかるはずだよ。

ヘッダファイルをインクルードするのなんて面倒くさいと思うかもしれないし、初めから全部のヘッダファイルをインクルードしておいてくれればいいのにと思うかもしれないけれど、コンパイラは #include を見つけると、その行をそこで指定されているヘッダファイルに置き換えるんだ。だから、自分が書いた行数が10行くらいのプログラムでも、ヘッダファイルをインクルードしたらコンパイルしているときは何百行とかのソースコードになっているかもしれないんだ。それが実行ファイル(バイナリファイル)になるんだよ。だから、インクルードするヘッダファイルが多ければ多いほど、コンパイルに時間がかかるし、出来上がらる実行ファイルのサイズも大きくなってしまうかもしれないんだ。だから、ヘッダファイルは必要に応じて、インクルードすることになっているんだ。

複数のヘッダファイルをインクルードすることもできるけど、そのヘッダファイル間に依存関係があると、インクルードする順場によって違いが出てくることもあるよ。例えばコンパイルエラーが発生するとかね。そのときは、#include の行がヘッダファイルの中身に置き換わるということを意識して、もう一度見直してみよう。ただ、最初のうちはそこまで気にしなくてもコードレジュメの問題は解けるよ。





初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録