C++_学习随笔_二维vector初始化问题

今天做作业,需要输入一个矩阵,大小由用户输入,所以打算用二维vector来实现。

一开始用遍历输入,如下

 

结果运行起来老出现 vector subscript out of range的报错

 

在csdn上找到原因,

 

不像二维数组那样,可以直接对arr[i][j]进行循环赋值。在vector<vector<int>>中,因为vector是一个容器,最外层的vector容器中放着更小的vector,而里层的vector里面放的是int型的数字。所以我们首先要对里层的vector容器赋值,然后再把里层的vector作为元素插入到外层的vector中。

将代码改成如下形式,就可以正常运行了

 

posted @ 2020-04-14 01:52  vantablack  阅读(654)  评论(1编辑  收藏  举报