c++ vector 向量的问题

typedefvector<int>vec;??我在这里创建的向量类型vec;vector<int>::iteratorit;vector<int>::reverse_i... typedef vector<int> vec;??我在这里创建的 向量类型 vec;
vector<int>::iterator it;
vector<int>::reverse_iterator it1;
int main(int argc, char *argv[])
{ vec v(5); ??在这里声明变量 向量 v;
int array[5]={1,3,2,5,4};
v(array,array+5); ?? 在这里初始化 这里就出现了问题 请问这是这么回事啊??
sort(v.begin(),v.end());
system("PAUSE");
return EXIT_SUCCESS;
}
展开
 我来答
lihe757
2011-09-27
知道答主
回答量:1
采纳率:0%
帮助的人:1731
展开全部
vec v(5); ??在这里声明变量 向量 v;
上面这句时已经把v初始化了呀。你把这句去掉。
v(array,array+5); ?? 在这里初始化 这里就出现了问题 请问这是这么回事啊??
这句也是初始化,你把上面这句放到第一句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
reverse_walker
2011-09-27 · TA获得超过590个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:472万
展开全部
int array[5]={1,3,2,5,4};
vec v(array,array+5); //vec不是函数对象类,你不能v( e1,e2)这样调用.但可是用这个区间构造
sort(v.begin(),v.end());
追问
vector v(array,array+5);这样就可以啊?? vec我已经给变成vector型的了 他俩的意义不是一样么??
追答
你v都已经构造好了.你在调用v就不是初始化了,而是函数调用.
你看第二句,我写的是vec v( array, array + 5 ).这里是用区间来构造对象.
你把焦点放在typedef上
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdghchj
2011-09-27 · TA获得超过1.2万个赞
知道大有可为答主
回答量:3977
采纳率:0%
帮助的人:6224万
展开全部
你用错了。
int main(int argc, char *argv[])
{ vec v;
v.Add(1);
v.Add(2);
v.Add(3);
v.Add(4);
v.Add(5);
sort(v.begin(),v.end());
system("PAUSE");
return EXIT_SUCCESS;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
frost0205
2011-09-27 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:185万
展开全部
压根没那样的操作啊,
对象定义以后就只能调用对象的方法了,
LZ那种初始化是定义对象的时候才能用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-01-12
展开全部
总结
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式