vector< vector<int> > v(m, vector<int>(n) );是什么意思?

intm=3,n=5;vector<vector<int>>vvi(m,vector<int>(n));似乎是二维数组,但是vector<int>(n)看不懂什么意思... int m=3, n=5;

vector< vector<int> > vvi(m, vector<int>(n) );

似乎是二维数组,但是vector<int>(n) 看不懂什么意思
展开
 我来答
帐号已注销
高粉答主

2020-02-04 · 说的都是干货,快来关注
知道小有建树答主
回答量:263
采纳率:95%
帮助的人:11.3万
展开全部

定义了一个vector容器,元素类型为vector<int>,初始化为包含m个vector<int>对象,每个对象都是一个新创立的vector<int>对象的拷贝,而这个新创立的vector<int>对象被初始化为包含n个0。

每部分解析:

构造函数vector(size_typen, const allocator_type& alloc = allocator_type())表示构造一个使用alloc分配内存的含n个元素的vector,其中每个元素执行值初始化。

因此vector<int>(n)表示构造一个无名且含n个0的vector<int>对象。

构造函数vector表示构造一个使用alloc分配内存的含n个元素的vector,其中每个元素是val的一个拷贝。因此整条语句的含义如第一段所说。

扩展资料:

优点:

Java中,数组对象一旦创建后,其元素的个数 不能被修改。而Java.util包中的Vector类(向量)提供类似于数组的能力,且能够动态地调整自身的大小。Vector类似于一个数组,但与数组相比在使用上有两个优点:

① 使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加;

② Vector类提供额外的方法来增加、删除元素,比数组操作高效。

插入功能:public final synchronized void addElement(Object obj)

将obj插入向量的尾部。obj可以是任何类的对象。对同一个向量对象,可在其中插入不同类的对象。但插入的应是对象而不是数值,所以插入数值时要注意将数值转换成相应的对象。

参考资料来源:百度百科-vector



8826055
推荐于2017-10-10 · TA获得超过7510个赞
知道大有可为答主
回答量:1680
采纳率:81%
帮助的人:901万
展开全部
  定义了一个vector容器,元素类型为vector<int>,初始化为包含m个vector<int>对象,每个对象都是一个新创立的vector<int>对象的拷贝,而这个新创立的vector<int>对象被初始化为包含n个0。

  每部分解析:
  构造函数vector(size_type n, const allocator_type& alloc = allocator_type())表示构造一个使用alloc分配内存(如果是初学,不用管这个,使用默认的就好)的含n个元素的vector,其中每个元素执行值初始化(对于内置类型即初始化为0)。因此vector<int>(n)表示构造一个无名且含n个0的vector<int>对象。

  构造函数vector(size_type n, const value_type& val, const allocator_type& alloc = allocator_type())表示构造一个使用alloc分配内存的含n个元素的vector,其中每个元素是val的一个拷贝。因此整条语句的含义如第一段所说。

  从结果上看,类似于创建了一个m×n的二维数组,而且可以通过v[i][j]的方式来访问元素(vector支持下标访问元素)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花开伤落
推荐于2017-09-15 · TA获得超过118个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:101万
展开全部
vector<int>(n)代表一个临时变量,而这个变量是个有n个数的数组,数组每个元素默认初始化。
vvi就是一个含有m个元素的数组,每个元素又是一个数组,即vector<int>(n).
追问
vector(n),也就是缺省了其名 ,本来好比是vectorx(n);这里把x这个名称给省略了是吧
追答
省略了其实就是构造了一个没有名字的临时对象。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
绝恋灬成
2020-05-30
知道答主
回答量:11
采纳率:0%
帮助的人:6620
展开全部
开了一个行m,列n的二维数组
vector<int>(n) 是指开了n个空间,你也可以带上初值 vectot<int>(n,1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思海微澜
2021-03-15
知道答主
回答量:1
采纳率:0%
帮助的人:514
展开全部
定义了一个vector二维向量,其中每个元素都是vector<int>,意思就是,定义了n个int类型的vector向量。这样就好理解了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式