在源文件中定义 const 数组
Define const array in source file
我想在其源文件中将一个常量数组定义为类的数据成员。
该数组有 256 个元素,它们之间没有任何关系。
class Foo {
private:
const int myArray[256] = {
0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 3, 0, 0, 1, 3, 0, 0, 0, 0, 1, 2, 0,
0, 0, 2, 2, 1, 0, 3, 2, 0, 2, 0, 0, 0, 0, 0, 0,
0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
};
我的问题:
1-将数组的定义转移到源文件是否更好?
2-无论如何,是否可以在源文件中定义此数组而不是定义类的标头?
在
标题中:
static const int myArray[256];
在 cpp 文件中
const int Foo::myArray[256] = {
// numbers
};
我假设这里你不需要每个类实例一个。
关于把它放在哪里更好的问题;我会把它放在 cpp 文件中,但这主要是风格问题。
相关文章:
- 使用对const结构的const数组的引用进行构造
- 初始化类中的静态 const 数组 - C++
- 如何定义在编译时数据未知的 const 数组
- 如何使用函数的输出初始化 const 数组结构字段?
- 是否允许使用初始值设定项列表将const数组引用实例化为构造函数参数
- const 数组,用于在数组长度定义中使用其元素或为模板参数提供值
- 如何访问一系列const变量作为const数组
- 如果在执行过程中替换二进制文件,"const"数组是否驻留在内存中?
- 在源文件中定义 const 数组
- 具有成员变量的对象 Const 数组 = 先前索引成员变量的总和
- 在构造函数中初始化const数组
- 在编译时使用基于模板的长度初始化 const 数组
- 传递const数组时的C 误差区分专业
- c++中const数组的平均值模板
- 如何在类中存储const数组
- 为什么 const 数组优先绑定到 const T& 参数而不是 T&& 参数?
- 如何将静态 const 数组声明和初始化为类成员
- 从 constexpr 构造 const 数组
- 静态 const 数组在 MSVC 中动态初始化
- 使用 const 数组元素初始化