horoyoisawaのゴミ箱

いろいろ書きます

多次元vectorを生成するのに便利なテンプレート。

けんちょんさんのコードを見ていて、多次元vectorを生成するのに便利なテンプレートを発見したので、載せておく。けんちょんさん(drken)に感謝。

template<class T>
vector<T> make_vec(size_t a){
    return vector<T>(a);
}
template<class T, class... Ts>
auto make_vec(size_t a, Ts... ts){
  return vector<decltype(make_vec<T>(ts...))>(a, make_vec<T>(ts...));
}

// example of 5-dimensional vecotr
auto sample = make_vec<int>(3, 3, 3, 3, 3);