如何在可执行文件中存储常量数组?
how to store a const array in executable?
我想存储一个计算的 const 数组,以便a[i] = i*i -3;
这是我的想法,但我不确定:
constexpr int fun(int x) {
return x * x - 3;
}
template<int N>
struct A {
constexpr A() : array() {
for (auto i = 0; i != N; ++i) array[i] = fun(i);
}
int array[N];
};
const A<4> array1{};
const int array2[] = {-3, -2, 1, 6};
我认为array1
是初始化的,而不是像array2
那样存储在可执行文件中。
是否可以在不使用宏的情况下执行此操作?
是否可以在不使用宏的情况下执行此操作?
委托构造函数呢?
template<int N>
struct A {
template <int ... Is>
constexpr A(std::integer_sequence<int, Is...>)
: array{ fun(Is)... }
{ }
constexpr A() : A{std::make_integer_sequence<int, N>{}}
{ }
int array[N];
};
相关文章:
- C++常量数组的编译时间较长
- 从另一个静态常量数组初始化静态常量数组(只需少量计算)
- 使用双指针传递 2D 常量数组
- 检查输入 std::array 指针数据是否等于某个常量数组
- 如何在可执行文件中存储常量数组?
- 常量数组如何在每个元素中只能包含字符,而 char* 数组能够指向每个元素中的字符串?
- LLVM 无法将数组类型强制转换为常量数组
- 如何在C++中的单行中返回常量数组中的值
- C++ 具有常量数组和initializer_list的重载构造函数
- 在可变参数构造函数中初始化常量数组
- 非常量数组
- C/C++ 中的常量数组和静态常量数组有什么区别
- C++全局常量数组:是否保证合并(优化)到一个副本中
- 在常量数组上使用指针遍历
- 具有函数指针常量数组的 C++ 模板化静态类
- 字符常量数组为空,即使已为其赋值 [C++]
- 指向常量数组的指针
- 函数指针的常量数组令人困惑
- 在 c++ 中初始化静态常量数组
- 常量数组类成员初始化