Sak*_*med 15 c++ arrays vector multidimensional-array
vector <int> V[]和vector< vector<int> > V两者都是2D阵列.
但是他们和我们在不同的地方使用它的区别是什么?请简要说明一下.
sha*_*ats 31
vector<int> V[]是一组向量.
vector< vector<int> > V是矢量的矢量.
向量是表示可以改变大小的数组的序列容器.
就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元素也可以使用常量指向其元素的偏移来访问,并且与数组一样有效.但与数组不同,它们的大小可以动态变化,其存储由容器自动处理.
TL; DR:
当您想使用固定数量的std::vector元素时,您可以使用vector <int> V[].
当你想用工作动态数组的std::vector,你可以使用 vector< vector<int> > V.
Mar*_*cin 12
一个区别是虽然两者都可以以相同的方式初始化,例如
vector<int> V1[] {{1,2,3}, {4,5,6}};
vector<vector<int>> V2 {{1,2,3}, {4,5,6}};
Run Code Online (Sandbox Code Playgroud)
和访问
cout << V1[0].back() << endl;
cout << V2[0].back() << endl;
Run Code Online (Sandbox Code Playgroud)
V1无法成长.你不能使V1.push_back(...)不是矢量对象.它只是一个阵列.第二个是动态的.您可以随意种植它.
| 归档时间: |
|
| 查看次数: |
13288 次 |
| 最近记录: |