从另一个静态常量数组初始化静态常量数组(只需少量计算)
Initialize Static const array from another static const array (With a small computation)
所以我有一堆无符号类型的静态常量数组。我在标头中声明它们并在 cpp 文件中初始化它们。阵列非常大(它们是基于 OFDM 的发射器的载波索引(。但是,我有文档中的值。因此,只需复制粘贴即可初始化。到目前为止,这工作正常。
但是我需要第二组数组,它们只不过是原始集合+一个常量值。
在页眉中
class C
{
static const uint32_t A[288];
static const uint32_t A_ext[288];
}
在CPP中
const uint32_t C::A[288] = {1,2,3......};
我希望A_ext成为
A_ext[i] = A[i] + 5;
我希望这些也定义为静态 const,因为所有这些数组都只能在项目的其他任何地方读取。它们就像标准表,可以在项目的其他任何地方访问。
我该怎么做?
我会避免相互依赖的静态初始化。您可以使用
struct carrier_indices_t {
uint32_t A[288];
uint32_t A_ext[288];
};
class C {
static const carrier_indices_t carrier_indices;
}
然后
const carrier_indices_t C::carrier_indices = foo();
其中foo
是返回carrier_indices_t
的constexpr
函数。
或者,仅存储其中一个数组并提供两种静态方法来访问它(一种偏移量为+5
(。
相关文章:
- C++17中函数模板中的静态数组初始化(MSVC 2019)
- 静态数组的自由动态数组
- 如何在C++函数中声明静态 2D 数组?
- 从另一个静态常量数组初始化静态常量数组(只需少量计算)
- 基于字节数组生成静态范围整数值
- 如何在C++中删除静态数组?
- 为什么 &a 和 c++ 中的静态数组相同?
- 为什么静态数组成员变量在调用对象的实例后不显示任何内容?
- C++ 返回指向函数内定义的静态数组的指针是否有效?
- 将在堆栈上声明的元素添加到静态数组
- const_cast静态数组以添加恒常性
- C++访问静态 constexpr 数组
- 初始化类中的静态 const 数组 - C++
- 将静态字符数组中的字符分配给动态分配的字符数组 - 访问冲突
- 动态分配的数组和静态数组之间的区别
- 如何在 C++ 中使用 NULL(或 0)初始化静态字符数组
- C++编译时使用 constexpr 字符数组指针分配静态数组?
- 我可以使用 constexpr 函数声明一个静态数组吗?
- 如何在静态函数中使用成员函数数组
- 具有大的2d数组:静态int与int