为什么不能给vector<int> a; [0] =5; 为什么不能直接赋值

 我来答
terminator2015
2012-06-15
知道答主
回答量:19
采纳率:100%
帮助的人:18.7万
展开全部
可以这么理解
vector<int> a;
并没有开辟一段存放数据的空间,这时候 a.size() 为0,换个角度,如果一个数组大小为0,必然不能往这个数组里写数据
两种方式
一种是push_back()
vector<int> a;
a.push_back(0);
a.push_back(1);
这时候a[0] == 0, a[1] == 1
另一种是在定义vector的时候指定一个大小
vector<int> a(10, 0);
a[0] = 1;
将a[0]的值由0改为1
百度网友63c8b9e
2012-06-03 · TA获得超过202个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:142万
展开全部
用的不对还是代码没有粘全啊,下面的小例子参考下:
int x= 0;
vector<int> a;
a.push_back(x);
a.at(0) = 5;
cout<<a.at(0)<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式