5

重複の可能性:
C++ でコンパイル時に静的配列をプログラムで作成する

要素が位置に依存する固定配列に格納するデータがたくさんあります。各要素の値は、コンパイル時に計算できます。

私のコードはほとんど次のようなものです:

int fun(int p) // maybe constexpr
{
    return 0x1<<p;
}

int a[17] = {
    repeat_fun_from_0_to_16();
};

すべての値はコンパイル時に決定できるため、これを行う方法があるはずです。

また、boost.assignment に があることも確認しましたがrepeat()、この状況での使用方法がわかりません。

4

1 に答える 1

1

@aleguna のおかげで、この回答でこの問題を解決しました。

変更する必要があるのは、メタ関数だけです。

template<size_t index> struct MetaFunc { 
    enum { value = index << 1 }; 
};
于 2012-12-28T12:29:56.723 に答える