我不知道 vector<int> v[]
之间的区别和vector<vector<int>> v
vector<int>v[] = {{ 0, 1 }, { 2, 3 }};
v[0][0] = 4;
v[0][1] = 2;
v[0].push_back(4);
for (int i = 0; i < v[0].size(); i++)
cout << v[0][i] << endl;
cout << v[1][0] << endl;
输出:4 2 4 2
vector<vector<int>> v = { {0, 1}, {2, 3} };
v[0][0] = 4;
v[0][1] = 2;
v[0].push_back(4);
for (int i = 0; i < v[0].size(); i++)
cout << v[0][i] << endl;
cout << v[1][0] << endl;
return 0;
输出:4 2 4 2
内存或创建过程是否有差异?
最佳答案
vector<int>v[] = {{ 0, 1 }, { 2, 3 }};
这是一个 vector 数组。
<小时/>vector<vector<int>> v = { {0, 1}, {2, 3} };
这是 vector 的 vector 。
<小时/>Is there a difference in memory or the creation process?
所以,当然,是的,内存和创造都存在差异。
前者是一个固定的二维 vector 数组。尽管第二维( vector )可以增大或缩小,但第一维却不能。它类似于 [2 x Y] 矩阵。
后者是 vector 的 vector 。所以第一维和第二维都可以改变。因此它可以类似于 [X x Y] 矩阵,其中 X 和 Y 都可以在运行时更改。
关于c++ - "vector<int> v[]"和 "vector<vector<int>> v"有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59017235/