Antti_M:
いずれの場合もある。ここで、不足している#include
ビルドはまだ通り抜けるながら、実行時にソフトウェアを破るでしょうか?
言い換えれば、それは可能性があります
#include "some/code.h"
complexLogic();
cleverAlgorithms();
そして
complexLogic();
cleverAlgorithms();
両方のビルドは成功しますが、動作が異なりますでしょうか?
ジョン:
はい、それは完全に可能です。私はたくさんの方法があると確信しているが、ファイルには、コンストラクタと呼ばれるグローバル変数の定義が含まれて含まれているとします。最初のケースではコンストラクタが実行なり、そして第二にそれはありません。
ヘッダファイルにグローバル変数の定義を置くことは貧弱なスタイルですが、それは可能です。