C++ 这是什么#在一个头文件中使用多个未初始化的数组来定义?
我在cyanogenmod的一个头文件中看到了以下代码(更改名称以提高可读性): 这是如何工作的?我如何使用这种#define语句 还有,编译器如何能够在不初始化变量的情况下创建数组 这是怎么回事 宏的工作方式是用宏的定义替换宏 如果将其写入源文件:C++ 这是什么#在一个头文件中使用多个未初始化的数组来定义?,c++,arrays,C++,Arrays,我在cyanogenmod的一个头文件中看到了以下代码(更改名称以提高可读性): 这是如何工作的?我如何使用这种#define语句 还有,编译器如何能够在不初始化变量的情况下创建数组 这是怎么回事 宏的工作方式是用宏的定义替换宏 如果将其写入源文件: THIS_C 预处理器将替换为: const char CP::a[] = "a"; const char CP::b[] = "b"; 我怎么用呢 如果你想声明这样的变量,那么你可以使用宏来生成这些声明。然而,在这个简单的示例中,不清楚使用宏
THIS_C
预处理器将替换为:
const char CP::a[] = "a";
const char CP::b[] = "b";
我怎么用呢
如果你想声明这样的变量,那么你可以使用宏来生成这些声明。然而,在这个简单的示例中,不清楚使用宏而不是直接编写声明有什么好处(如果有的话)。宏可能只是用来混淆代码,这是不可取的
还有,编译器如何能够在不初始化变量的情况下创建数组 在类定义的上下文中,
这是两个数组静态成员的外部声明。这种声明不需要指定数组的大小,也不能初始化变量。初始化在定义中(我想这就是这个
扩展到的内容)。你所说的#define
语句的“这类”是什么意思?您在这些语句中看到了什么使它们不同于其他#define
语句?
const char CP::a[] = "a";
const char CP::b[] = "b";