在类的定义中使用的 #define 的作用域有关问题
在类的定义中使用的 #define 的作用域问题
例如:
///// A.h //////
class A
{
...
#define AREA
...
};
//// End of A.h ////
那么AREA的作用域多大,和成员变量相同?还是包含A.h的文件都可引用?
PS:如果把#define换成#include又为何解?
------解决方案--------------------
#define和它出现在哪里没关系,从它出现起到本编译单元结束处,一直有效。
#include 就相当于ctrl-c/ctrl-v把别的文件中的内容贴过来。
例如:
///// A.h //////
class A
{
...
#define AREA
...
};
//// End of A.h ////
那么AREA的作用域多大,和成员变量相同?还是包含A.h的文件都可引用?
PS:如果把#define换成#include又为何解?
------解决方案--------------------
#define和它出现在哪里没关系,从它出现起到本编译单元结束处,一直有效。
#include 就相当于ctrl-c/ctrl-v把别的文件中的内容贴过来。