【发布时间】:2021-01-15 01:25:50
【问题描述】:
#include <iostream>
#include <vector>
using namespace std;
int main(void)
{
vector<vector<int> > matrix;
matrix.resize(3, vector<int>(4, 1));
for (size_t i = 0; i < 3; i++)
{
for (size_t j = 0; j < 4; j++)
{
cout << matrix[i][j];
}
cout << endl;
}
matrix.resize(5, vector<int>(7, 0));
for (size_t i = 0; i < 5; i++)
{
for (size_t j = 0; j < 7; j++)
{
cout << matrix[i][j];
}
cout << endl;
}
return 0;
}
'''
据我所知,当我们使用“resize()”调整向量的大小超过原始容量时,原始空间中的值将保留,新值将分配给新空间。
在 matrix.resize(5, vector(7, 0)); 行中,如果我们执行该行,我认为矩阵会像
1111000
1111000
1111000
0000000
0000000
类似的东西。
但是程序停止了,
我想知道为什么它不起作用。
【问题讨论】:
标签: c++