在用devcpp编译程序时发现,二维vector数组如果只定义的话,不指定元素个数也不进行初始化的时候会导致编译出错。
通常情况下,可以只提供vector对象容纳的元素数量而略去初始值。此时库会创建一个值初始化的元素初值,并把它赋给容器中的所有元素。这个初值由vector对象中元素的类型决定。
二维数组初始化方法目前有以下两种:

第一种初始化方法(以元素类型为int为例)

初始化为1:

vector<vector<int>> vec(row, vector<int> (col,1));

第二种初始化方法

初始化为1:

 vector<vector<int>> vec;vec.resize(row);for(int i = 0; i < vec.size(); i++) {vec[i].resize(col);}for(int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {vec[i][j] = 1;}}

完整程序

#include <iostream>
#include <vector>
using namespace std;void print(const vector<vector<int>> vec)
{for(int i = 0; i < vec.size(); i++) {for(int j = 0; j < vec[0].size(); j++) {cout<<vec[i][j]<<"\t"; if(j == vec[0].size() - 1)cout<<endl;}}
}
int main()
{int row = 9;int col = 9;//vector<vector<int>> vec(row, vector<int> (col,1));vector<vector<int>> vec;vec.resize(row);for(int i = 0; i < vec.size(); i++) {vec[i].resize(col);}for(int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {vec[i][j] = 2;}}print(vec);
}

效果

二维vector数组初始化方法相关推荐

  1. C++ 动态二维数组(二维vector)

    创建二维数组: vector<int> vec(4,2); //将含有4个数据的一维动态数组初始为2 vector< vector<int> > asd1(row, ...

  2. c语言二维vector大小,vector作为二维数组

    vector本来就是可以用来代替一维数组的,vector提供了operator[]函数,可以像数组一样的操作,而且还有边界检查,动态改变大小. 这里只介绍用它来代替二维的数组,二维以上的可以依此类推. ...

  3. 二维数组传入函数_C++二维动态数组memset()函数初始化

    来源:https://blog.csdn.net/longhopefor/article/details/20994919 先说说memset函数: void *memset(void *s,int ...

  4. 二维vector的声明和初始化

    初始化二维vector 声明 m*n的二维vector: vector<vector<int>> vec(m,vector<int>(n)); 初始化m *n 的二 ...

  5. 二维三维四维vector乃至多维vector数组的建立

    二维vector的建立方式如下 vector<vector<int>> a(n,vector<int>(n)); 三维vector的建立方式如下 vector< ...

  6. 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的

    <c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...

  7. C++ 二维vector初始化、resize()

    二维vector初始化 1.定义时就设置大小.初值 vector<vector<int> > v(2, vector<int>(4,1));//2行*4列,初始化为 ...

  8. php 二维数组 随机排序_PHP二维数组排序简单实现方法

    本文实例讲述了PHP二维数组排序简单实现方法.分享给大家供大家参考,具体如下: function multi_compare($a, $b) { $val_arr = array( 'gold'=&g ...

  9. 二维vector不能用直接访问的方式赋值,要pushback进去

    对于二维vector可以使用push_back的方法进行赋值,先push_back出一维数组,再将这个一维数组push_back进二维数组. 直接访问的vector[][]方式可以访问数组,不过不能写 ...

最新文章

  1. 咏南LINUX中间件
  2. 一文读懂并发与并行,同步与异步阻塞
  3. scala中的算术符重载代码详细解释
  4. 2.24 js处理内嵌div滚动条
  5. C++对象模型3--无重写的单继承
  6. Spark学习之Spark Streaming(9)
  7. github视频教程-02 建立项目仓库以及代码上传
  8. oracle日期时间函数
  9. 如何裁剪gif动图的尺寸?仅需三步即可快速裁剪动图
  10. 使用PS更改照片的背景色
  11. mysql查看表内容_在mysql中怎样显示表里的内容 ?
  12. 一丶exit(1)丶exit(0)和return的区别
  13. oracle缩小数据文件大小,怎样将数据文件的大小变小
  14. 快应用的用法和常见问题解答(上)
  15. 微信小程序开发之——个人中心-个人资料修改(7)
  16. 金华职业技术学院计算机教研室主任,机械技术系主任及教师赴金华职业技术学院走访调研...
  17. Windows下的远程命令行工具pstools
  18. 利用MRT进行多年LAI数据(MOD15A2)拼接和投影转换
  19. 编译的学习和实践日志二[我的目标是]
  20. 628 小媛在努力【水题】

热门文章

  1. PayPal/Stripe/Square轮询收单系统 stripe paymentlink支付模式
  2. javascript中使用枚举定义一个对象进行数据转换
  3. 【DP】西北大学集训队选拔赛(重现赛) B 饱和式救援
  4. 宁选“范跑跑”,不要“郭跳跳”
  5. cocos2d-html5游戏图片资源选择
  6. [XCTF] [NJUPT CTF 2017] maze
  7. 数据结构1800试题(第1章)
  8. 数据结构1800关于图的代码精选(二)
  9. js正则表达式过滤表情,输入法表情无法匹配,则反向判断
  10. 社交软件Soul撤回IPO申请:上市只差临门一脚 腾讯是大股东