2D矢量声明之间的差异

cha*_*ny1 0 c++ vector

这可能听起来很简单,但我有点困惑.我想知道的是c ++中这两个向量声明之间的区别.

vector<  vector<int> >a(some_size)

vector<int>b[some_size]
Run Code Online (Sandbox Code Playgroud)

我想知道我们可以使用其中一个但不能使用其他一个的情况.请提供除依赖于固定大小的数组和可变大小的向量的情况以外的情况.请提供示例代码以证明您的观点.

提前致谢.

pmr*_*pmr 5

第二个是向量数组.必须在编译时知道数组的大小.第一个是矢量矢量.大小可以在运行时更改.

如果您试图寻找共性,可以说两者都是具有相同value_type和category(RandomAccessIterator)的范围.