正如Chris所说,#define的范围仅限于该文件。(值得注意的是,这与“类”不同 - 如果您有一个部分类型,则可能由两个文件组成,其中一个文件定义了符号,另一个文件没有!)您还可以在整个项目中定义一个符号,但是这是通过项目属性或编译器开关而不是在源代码中指定的。
是的,正如Chris所提到的那样,它的作用域是整个文件。您可以在文件中的任何地方使用定义的关键字。 i.e; #define something ... some code ... 在任何方法、类体或命名空间中,您都可以像这样使用它; #if something ... some conditional code ... #else ... otherwise ... #endif