我了解预编译的标头对 "#include "StdAfx.h" 的作用,是的,我知道我可以将它们关闭。但这不是我的问题。
如果您使用的是预编译头文件,Visual C++ 要求每个cpp 文件都包含 #include "StdAfx.h",即使是未使用 StdAfx.h 中的任何头文件的文件。如果您忘记在一个文件中包含 StdAfx.h,这是一个错误。但为什么?显而易见的方法就是“如果您包含 StdAfx.h,那么该文件将使用它,但如果您忘记包含它,则根本不会包含这些头文件。” 我不明白为什么 VC++ 会在不需要时要求您包含 StdAfx.h。似乎他们更容易将其视为普通头文件。
有什么好的理由需要这样做吗?