4

ブール表現を列挙し、後で使用[0,31]できるように保存したいと思います。tries

static const int N = 5;
vector<bool> tries(N);

for(int i = 0;i < (2<<N); i++){

    //can vector<bool> initialized by int?
    //so I don't have to do bit operation

    for (int t = 0; t < N; ++t)
    {
        tries[t] = i&(1UL<<t);
    }

...
}
4

1 に答える 1

5

std::vector< bool >これはできませんが、std::bitsetできます。あなたの場合、ベクトルのサイズは一定であるため、 を使用する必要がありますstd::bitset< 5 >。必要な非負の整数値で初期化するだけです。

bitsetは Container インターフェイスを提供 (または模倣) しませんがoperator []、 のようなビット プロキシ オブジェクトを返すことに注意してくださいvector<bool>

于 2013-07-10T03:55:13.700 に答える