stdafx.hは、プロジェクトのすべての cpp ファイルに最初に含める必要があります。
C++ はヘッダー ファイルをコンパイルせず、Cpp ファイルのみをコンパイルする
ことを考慮してください。
したがって、stdafx が cpp ファイルの最初のインクルードである場合、コンパイラは、Cpp ファイルのヘッダー ファイルにヒットしたときに、ヘッダー ファイルが必要とするすべてのものを取得します。
例えば
A.cpp があり、ああ、
std:string が必要です。
B.cpp & Bh
Bh には Ah が必要なので、Bh にも std::string が必要です。
これは良い習慣なので#include <string>、stdafx.h に入れます。
何も std::string を認識できないため、ビルドは失敗します
A.cpp と B.cpp の最初のインクルードとして stafx.h を配置します。
コンパイラが A.cpp にヒットすると、インクルード for を取得し<string>、次に Ah を取得します。 std::string が何であるかを知っているので、すべてが満足です。
コンパイラは B.cpp にヒットし、最初に stdafx をインクルードします。これにより がもたらされ<string>、次に Bh にヒットし、Ah がもたらされます。これは、std::string が既にインクルードされているためです。
お役に立てれば。