有没有办法指定嵌套 STL 向量 C++ 的维度?
我知道向量可以构造为预定义的大小
vector<int> foo(4);
但是有没有办法指定嵌套向量的维度?
vector< vector<int> > bar(4);
假设我想要一个大小为 4 的向量,其中包含大小为 4 的向量...就像一个 4x4 多维整数数组?
I know vectors can be constructed to a predefined size
vector<int> foo(4);
But is there a way to specify the dimensions of nested vectors?
vector< vector<int> > bar(4);
Lets say I wanted a vector of size 4 containing vector's of size 4... like a 4x4 multidimensional array of ints?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该构造函数的第二个参数是要初始化的值。现在您将获得 4 个默认构造的向量。用一个更简单的 1D 示例来澄清:
所以您想要:
这将创建一个由整数向量组成的向量,初始化为包含 4 个向量,这些向量被初始化为包含 4 个整数,初始化为 0。(您可以为 int 指定一个默认值,如果需要的话。)
满嘴,但不太硬。 :)
对于一对:
The second argument to that constructor is the value to initialize with. Right now you're getting 4 default-constructed vectors. To clarify with a simpler 1D example:
So you want:
This creates a vector of vectors of ints, initialized to contain 4 vectors that are initialized to contain 4 ints, initialized to 0. (You could specify a default value for the int to, if desired.)
A mouth-full, but not too hard. :)
For a pair:
除了
std::vector
之外,您还可以使用boost::multi_array
。来自文档:Alternatively to a
std::vector
you can useboost::multi_array
. From the documentation: