ページ 11

C++を複数ファイルに分けた先でのインクルードについて

Posted: 2018年1月17日(水) 00:07
by みぎ
main関数のあるmain.cppと自作のファイルfunc.cppとそのヘッダーファイルfunc.hの3つがあるとします.
main.cppでは#include "func.h"をしてfunc.cpp内にある関数を使います.

ここから質問なのですが,こういった状況でfunc.cpp内の関数でcoutを使うためiostreamをインクルードする時に,インクルードはfunc.h内で行うのかfunc.cpp内で行うべきなのかを教えて下さい.

Re: C++を複数ファイルに分けた先でのインクルードについて

Posted: 2018年1月17日(水) 08:48
by Bull
あくまで私個人の考え方ですが、func.h で iostream をインクルードすることは、無いです。
ヘッダーファイルは、その関数(ここではfunc.cpp)を使う側のためのものと考えるからです。
使う側にとって、iostream を使っているかどうかはあまり関係ないことなので、
必要の無いものはインクルードしないのが、私の方針です。
もちろん、インライン関数などで必要ならインクルードします。

Re: C++を複数ファイルに分けた先でのインクルードについて

Posted: 2018年1月17日(水) 13:27
by みぎ
Bullさん,回答してくださってありがとうございます.
自分もインクルードは使用するファイル内でインクルードするように決めてプログラムを作っていきたいと思います.