我知道如何初始化具有默认值的矢量" val"。
vector <int> v(size,val);
但是我想初始化 一个向量 数组,其中每个向量都有一个默认值&#34; val&#34; .....或者如果可能的话不同值。
声明:的
vector <int> v[10];
答案 0 :(得分:0)
我明白了...... 还有另一种方式。 使用默认值&#34; VAL&#34;:
创建给定大小的二维向量int N, N;
// ...
vector< vector<int> > Matrix(N, vector<int>(M, VAL));
答案 1 :(得分:0)
使用c ++ 11的更通用版本,您无需重复编写向量构造函数。它返回一个std :: array
template <unsigned N>
auto make_array_of_vecs(std::size_t size, int val) {
std::array<std::vector<int>, std::index_sequence<I...>::size()> arr;
std::fill(begin(arr), end(arr), std::vector<int>(size, val));
return arr;
}
使用方法:
auto array_of_vecs = make_array_of_vecs<10>(15, 10);
警告:未经测试。