创建恒定大小向量的恒定大小向量

Create constant sized vector of constant sized vectors

我正在努力学习 C++。目前我 运行 进入了一个教程,其中提到了如何创建一个像这样的恒定大小的向量:vector <int> v(10); 现在我想知道如何创建一个由恒定大小的向量组成的恒定大小的向量,例如:vector <vector <int> (10)> v(10);这段代码不起作用,所以我想问一下有没有办法做这样的事情,如果有,怎么做?

如果不编写您自己的 class 某种包装器,您就无法拥有 恒定大小向量的恒定大小向量。为任务使用更合适的 std::array 容器:

std::array<std::array<int, 10>, 10> arr;

你可以

vector<vector<int>> v(10, vector<int>(10));

即使用值为 std::vector<int>(10).

的元素的 10 个副本构造 std::vector

请注意,std::vector 的大小不是恒定的,它可能会在插入或删除元素时发生变化,10 只是 v 及其元素初始化时的初始大小.另一方面,std::array 的大小是常量,它在 compile-time 指定并且不能在 run-time 更改。