- ベストアンサー
#include "****.h"の呼び出し箇所
- Visual C++のプログラムで自分で作成したインクルードファイルを読み出すコード#include "*****.h"を読み出したいプログラム内のソースファイルの一番上に書くべきか、インクルードファイルの一番上に書くべきかということについて質問します。
- 呼び出したいインクルードファイル内の関数を使用する場合以外では、どちらにインクルードファイルの呼び出しを記述しても動作するか疑問に思っています。
- MFCのプログラムなどを見ると、ソースファイルの一番上にインクルードファイルの呼び出しが書かれていることがあります。どちらがより適切な方法なのか、ご意見をいただければと思います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>どちらでもいいのかもしれませんが、参考となる意見がありましたらよろしくお願い致します。 ぶっちゃけ、#includeは、参照している場所よりも前なら、どこに書いても可(一部の例外を除く) どこに書いても良いので「自分スタイル」を確立して、いつもそのスタイルで書いていれば良いと思う。 つまり「書くたんびに、書いてある場所がバランバラン、って事が無ければ良い」ってだけ。 なので「俺はここに書くのが好きだ」って言われれば、誰も反論出来ません。「ここには書くべきじゃない」って言う決まりはありませんからね。 但し「関数プロトタイプ」が書かれたヘッダファイルだけは「関数内で#includeできない」ので「ここには書けない」と言う制約を受けます。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
すみません, 「インクルードファイルの呼び出し」という言葉の意味が分かりません. そのため「読み出したいプログラム内でメンバ変数として呼び出したいときなどはインクルードファイルに書きますが」とか「インクルードファイルの呼び出しはその呼び出したいプログラムのインクルードファイルに書く」とか書かれてもどのような状況のことを指しているのかがさっぱり分かりません. 簡単な例を書いてもらえませんか?
お礼
Tacosan様、ご意見ありがとうございました。 簡単な例でいうと (例) sampleB.hというヘッダーファイルを読み出して、そのヘッダーファイル 内の関数をsampleAというプログラム内で使いたい。 とした場合に、 //sampleA.h #include "sampleB.h" と //sampleA.cpp #include "sampleB.h" と呼び出すのは、どちらが良いのかなという質問でした。 その前のchie65535様の回答で、どちらでも良いとのことでしたので 自分流のスタイルを作ってインクルードをしていきたいと思います。 ご意見ありがとうございました。
お礼
chie65535様、ご回答ありがとうございます。 #includeはどこに書いてもいいんですね。自分流に統一して 書くといいということですか。 ご回答ありがとうございました。