动态创建二维vector数组 C和C++ 及指针与引用的区别

 我来答
地瓜说机
2017-10-30 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2.3万
采纳率:91%
帮助的人:1.2亿
展开全部
二维vector
vector<vector <int> > ivec(m ,vector<int>(n)); //m*n的二维vector

动态创建m*n的二维vector
方法一:
vector<vector <int> > ivec;
ivec.resize(m);
for(int i=0;i<m;i++) ivec[i].resize(n);

方法二:
vector<vector <int> > ivec;
ivec.resize(m,vector<int>(n));

动态创建二维数组a[m][n]
C语言版:
#include<malloc.h>
int **a=(int **)malloc(m*sizeof(int *));
for(int i=0;i<m;i++)
a[i]=(int *)malloc(n*sizeof(int));

C++版:
int **a=new int*[m];
for(int i=0;i<m;i++) a[i]=new int[n];
初始化二维数组
vector<vector <int> > ivec(m ,vector<int>(n,0)); //m*n的二维vector,所有元素为0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式