不足しているの#includeは、実行時にプログラムを中断することは可能ですか?

Antti_M:

いずれの場合もある。ここで、不足している#includeビルドはまだ通り抜けるながら、実行時にソフトウェアを破るでしょうか?

言い換えれば、それは可能性があります

#include "some/code.h"
complexLogic();
cleverAlgorithms();

そして

complexLogic();
cleverAlgorithms();

両方のビルドは成功しますが、動作が異なりますでしょうか?

ジョン:

はい、それは完全に可能です。私はたくさんの方法があると確信しているが、ファイルには、コンストラクタと呼ばれるグローバル変数の定義が含まれて含まれているとします。最初のケースではコンストラクタが実行なり、そして第二にそれはありません。

ヘッダファイルにグローバル変数の定義を置くことは貧弱なスタイルですが、それは可能です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=369076&siteId=1