• 4478阅读
  • 5回复

c++中关于向量的一个问题 [复制链接]

上一主题 下一主题
离线wuleeemail
 

只看楼主 倒序阅读 楼主  发表于: 2011-12-17
我们知道向量是这样表示的:vector<int> a(10),或者vector<int> a(10,1);等等方式表示的,今天看到下面的代码还是有点不明白。
先定义了一个vector<vector<int> > a;,在.cpp中出现了“a.resize(3 ,vector<int>(5));” 这样的代码,以及“vector<vector<int> > b(a[0].size() ,vector<int>(a.size()));”这样的代码,为何在“vector<int>(5)” 这样的地方没有一个变量?这下实在没有搞懂。在此请教大侠们多指点!
离线jdwx

只看该作者 1楼 发表于: 2011-12-17
代码还是不要写成那样,太容易出错了。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线blueskit

只看该作者 2楼 发表于: 2011-12-18
vector<int>(5) 就是一个变量了吧
a.resize(3 ,vector<int>(5)); 表示更改vector到3个元素,且每个元素用 vector<int>(5) 初始化。
相当于 3x5 的矩阵
离线wuleeemail

只看该作者 3楼 发表于: 2011-12-18
知道了!
是这样的:
resize(3 ,vector<int>(5));
==
vector<int> tmp(5);
resize(3 ,tmp);
离线玉清
只看该作者 4楼 发表于: 2011-12-22
这样的嵌套真是糟糕至极。
离线roywillow

只看该作者 5楼 发表于: 2011-12-30
不过写的容易懂的代码也不一定是好代码
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个