可能重复:
在C++编译时以编程方式创建静态数组
我有很多数据存储在固定数组中,其元素取决于位置.可以在编译时计算每个元素的值.
我的代码几乎就像:
int fun(int p) // maybe constexpr
{
return 0x1<<p;
}
int a[17] = {
repeat_fun_from_0_to_16();
};
Run Code Online (Sandbox Code Playgroud)
因为所有的值都可以在编译时确定,所以应该有办法做到这一点,我想.
我还检查了repeat()boost.assignment中有一个,但不知道如何在这种情况下使用它.
感谢@aleguna,我已经通过这个答案解决了这个问题。
我需要更改的是元函数:
template<size_t index> struct MetaFunc {
enum { value = index << 1 };
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |