如何绕开 C++ 的类模板参数必须是常量的限制

· · 个人记录

读 CF 题解代码看到了这个神奇的方法。

开一个大小为 n 的 bitset,n 需要读入。

大概这么干:

template <int len = 1>
void subset_sum(int n) {
    if (n >= len) {
        subset_sum<std::min(len*2, maxn)>(n);
        return;
    }  
    else
    {
        bitset<len> xxx;
      ...........
    }