C++ 包含内部if-endif

C++ 包含内部if-endif,c++,c-preprocessor,C++,C Preprocessor,如果我将include放在If-endif中,预处理器会检查If以查看是否包含include的内容吗 #if 0 #include <foo> #endif 在这种情况下,是否始终包含foo?如果条件为false,则将省略If和endif之间的所有内容。它包括任何include指令,因此不会包括该文件。首先计算外部条件。如果返回的类型值为false,则不会处理其中的内容。预处理器不会包含我。这不是很简单的测试吗?@user207933我不建议在您不确定某个语言中行为未定义的内容

如果我将include放在If-endif中,预处理器会检查If以查看是否包含include的内容吗

#if 0

#include <foo>

#endif

在这种情况下,是否始终包含foo?

如果条件为false,则将省略If和endif之间的所有内容。它包括任何include指令,因此不会包括该文件。

首先计算外部条件。如果返回的类型值为false,则不会处理其中的内容。

预处理器不会包含我。这不是很简单的测试吗?@user207933我不建议在您不确定某个语言中行为未定义的内容时尝试它。@BoBTFish您应该先尝试。如果他这样做了,他就不需要问了,在这种情况下,福会不会总是被包括在内,因为他知道那不是真的。如果他真的发现了这种情况,那么在问题中提到的细节将是非常重要的。但是,您不能测试所有的案例,所以在我的测试中,没有包括foo,但是有例外吗?这仍然是一个有效的问题。我正在打电话,我只想问一个简单明了的问题,并得到一个快速的回答。但很明显,这对一些人来说是不可接受的。