如何初始化矢量数组
How to initialize an array of vector?
我知道如何初始化具有默认值"val"的向量。
vector <int> v(size,val);
但我想初始化一个向量数组,其中每个向量都有一个默认值"val"。。。。。或者如果可能的话不同的值。
声明:
vector <int> v[10];
我拿到了。。。。还有另一种方法。创建具有默认值"VAL"的给定大小的二维矢量:
int N, N;
// ...
vector< vector<int> > Matrix(N, vector<int>(M, VAL));
一个更通用的版本,使用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);
警告:未测试。
相关文章:
- C++使用整数的压缩数组初始化对象
- C++17中函数模板中的静态数组初始化(MSVC 2019)
- 从另一个静态常量数组初始化静态常量数组(只需少量计算)
- 在 Python 和 c++ 2d 数组初始化之间.这是怎麽?为什么呢?
- 字节数组初始化会导致 DirectX 崩溃
- 使用 new 和 值进行数组初始化,但没有显式数量的元素
- 运行时C++数组初始化问题
- 使用带有参数包的数组的成员数组初始化类
- 仅通过C++中数组初始化的不同方法,即可在同一输入上获得两个不同的答案
- C++ 2 个指针数组初始化 C2440
- C++结构字符数组初始化
- C++中的多维数组初始化
- constexpr数组初始化
- C++引物动态数组初始化程序的数目超过大小
- 使用std::index_sequence对std::数组初始化进行包扩展
- 当 std 数组初始化太小时,C++会引发错误吗?
- 如何确定结构数组初始化的大小?
- Qt并发错误:数组初始化需要大括号括起来的初始值设定项列表
- 此代码中的数组初始化样式是什么?这是标准的吗?
- C++ 使用数组初始化时的 STL 向量内存管理